我有一个运行n Azure的站点,它使用EF Database First模型。
如果我在web.config中嵌入连接字符串并且部署all是美好的。
<add name="MyEntities" connectionString="metadata=res://*/App_Code.Model.csdl|res://*/App_Code.Model.ssdl|res://*/App_Code.Model.msl;provider=System.Data.SqlClient;provider connection string='Data Source=my.database.windows.net;Initial Catalog=myTest_DB;User ID=***;Password=***; MultipleActiveResultSets=False'" providerName="System.Data.EntityClient"/>
但是,我不想在web.config中使用连接字符串,因为它包含凭据。
所以我将它移动到Azure Properties中的连接字符串区域。
我遇到的第一个问题是获取元数据无效的关键字错误。
我通过将类型从SQL数据库更改为自定义来解决这个问题。
但是,我现在收到此错误:
连接字符串&#39; MyEntities&#39;在应用程序的配置中 file不包含必需的providerName属性。&#34;
我已经对网络进行了搜查并尝试了很多连接字符串,但还没找到正确的链接。
注意:我想我可以将其设置为应用程序设置并将字符串的初始化移动到代码,但即使只是为了好奇,我也想知道如何通过门户网站进行操作。
答案 0 :(得分:6)
问题不是连接字符串,而是无法从门户网站指定providerName
。
尝试使用本地或虚拟连接字符串进行发布,并像在Azure应用程序设置中一样覆盖它。请参阅此答案:https://stackoverflow.com/a/18964294/94853