我有一个运行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中的连接字符串区域.
但是,我现在收到此错误:
The connection string ‘MyEntities’ in the application’s configuration
file does not contain the required providerName attribute.”
我已经在网上搜索并尝试了许多连接字符串的变体但尚未找到正确的连接字符串.
注意:我想我可以将其设置为应用程序设置并将字符串的初始化移动到代码,但即使只是为了好奇,我也想知道如何通过门户网站进行操作.
解决方法
问题不是连接字符串,而是无法从门户网站指定providerName.
尝试使用本地或虚拟连接字符串进行发布,并像在Azure应用程序设置中一样覆盖它.看到这个答案:https://stackoverflow.com/a/18964294/94853