我们有一个ASP .NET(MVC)应用程序,并且正在使用实体框架6来连接到我们的数据库。 DbContext是以标准方式构造的,它代表我们加载连接字符串。生成的代码看起来是这样的:在Azure Web App中设置EF连接字符串
public partial class MyContext : DbContext
{
public MyContext(string connectionName)
: base("name=" + connectionName)
{
}
}
我们在当地web.config中设置连接字符串还以标准的方式:
<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="metadata=...;provider connection string="...""
providerName="System.Data.EntityClient" />
当我们发布应用到Azure中,我们导航到Azure的门户,然后转到Web应用程序的设置,然后转到连接字符串列表。在那里,我们添加了我们在本地使用的EF连接字符串。当我们重新启动并访问应用程序时,根据我们选择的连接字符串的类型,我们会得到运行时错误。
对于Custom
类型,我们得到以下运行时错误:
Keyword not supported: 'data source'.
对于SQL Server
或SQL Database
我们得到以下运行时错误:
Keyword not supported: 'metadata'.
这确实似乎是一个简单的故事,所以我们想知道发生了什么问题。
更换
"
看看这里:http://azure.microsoft.com/blog/2013/07/17/windows-azure-web-sites-how-application-strings-and-connection-strings-work/ – Fals