Abbiamo un'app ASP (MVC) e utilizziamo Entity Framework 6 per connettersi ai nostri database. DbContext è costruito in un modo standard e carica la stringa di connessione per nostro conto. Il codice generato è simile al seguente:Impostazione stringa di connessione EF nell'app Web di Azure
public partial class MyContext : DbContext
{
public MyContext(string connectionName)
: base("name=" + connectionName)
{
}
}
Abbiamo impostato la stringa di connessione in un file web.config locale, anche in maniera standard:
<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="metadata=...;provider connection string="...""
providerName="System.Data.EntityClient" />
Quando pubblichiamo l'applicazione per Azure navighiamo al Azure Portale, quindi nelle Impostazioni dell'app Web, quindi nell'elenco di Stringhe di connessione. Lì aggiungiamo la stringa di connessione EF che avevamo usato localmente. Quando riavviamo e visitiamo l'app, riceviamo un errore di run-time in base al tipo di stringa di connessione che scegliamo.
Per un Custom
tipo otteniamo il seguente errore di runtime:
Keyword not supported: 'data source'.
Per SQL Server
o SQL Database
otteniamo il seguente errore di runtime:
Keyword not supported: 'metadata'.
questo sembra davvero come un semplice storia quindi ci stiamo chiedendo cosa non va.
Dai un'occhiata qui: http://azure.microsoft.com/blog/2013/07/17/windows-azure-web-sites-how-application-strings-and-connection-strings-work/ – Fals