用于EF的Azure网站连接字符串未被拾取 [英] Azure Web Sites connection string for EF not being picked up
问题描述
该网站使用实体框架,当我在 Web.config
它运行正常:
< connectionStrings>
< add name =DataContextconnectionString =metadata = res://*/Models.WpsData.csdl | res://*/Models.WpsData.ssdl | res://*/Models.WpsData .msl; provider = System.Data.SqlClient; provider connection string =& quot; data source = XXXX; initial catalog = XXXX; persist security info = True; user id = XXXX; password = XXXX; multipleactiveresultsets = True; =&的EntityFramework放大器; QUOT; providerName =System.Data.EntityClient/>
< / connectionStrings>
但是,如果删除此连接字符串,而是通过Azure管理门户指定,则会发生错误。
名称:DataContext
值:metadata = res:// * / Models。 WpsData.csdl | res://*/Models.WpsData.ssdl | res://*/Models.WpsData.msl; provider = System.Data.SqlClient; provider connection string =data source = XXXX; initial catalog = XXXX ; persist security info = True; user id = XXXX; password = XXXX; multipleactiveresultsets = True;应用程序名称= EntityFramework
类型:自定义
这将导致错误:在应用程序配置文件中找不到名为DataContext的连接字符串。
请参阅类似的问题。
尝试将web.config中的连接字符串保留一些值(一些测试连接字符串或一些虚拟值),例如
< connectionStrings>
< add name =DataContextconnectionString =dummyproviderName =System.Data.EntityClient/>
< / connectionStrings>
I am deploying an ASP.NET web app to Azure Web Sites.
The site uses Entity Framework, and when I include the following in Web.config
it runs fine:
<connectionStrings>
<add name="DataContext" connectionString="metadata=res://*/Models.WpsData.csdl|res://*/Models.WpsData.ssdl|res://*/Models.WpsData.msl;provider=System.Data.SqlClient;provider connection string="data source=XXXX;initial catalog=XXXX;persist security info=True;user id=XXXX;password=XXXX;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
However, if this connection string is removed and instead specified via the Azure Management Portal, an error occurs.
Name: DataContext
Value: metadata=res://*/Models.WpsData.csdl|res://*/Models.WpsData.ssdl|res://*/Models.WpsData.msl;provider=System.Data.SqlClient;provider connection string="data source=XXXX;initial catalog=XXXX;persist security info=True;user id=XXXX;password=XXXX;multipleactiveresultsets=True;application name=EntityFramework"
Type: Custom
This results in the error: No connection string named 'DataContext' could be found in the application config file.
See similar question here.
Try leaving the connection string in web.config with some value (either some test connection string, or some dummy value) e.g.
<connectionStrings>
<add name="DataContext" connectionString="dummy" providerName="System.Data.EntityClient" />
</connectionStrings>
这篇关于用于EF的Azure网站连接字符串未被拾取的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!