未获取EF的Azure网站连接字符串

Jam*_*mes 11 asp.net entity-framework azure azure-web-sites

我正在将ASP.NET Web应用程序部署到Azure Web站点.

该站点使用实体框架,当我在Web.config其中包含以下内容时运行正常:

<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=&quot;data source=XXXX;initial catalog=XXXX;persist security info=True;user id=XXXX;password=XXXX;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

但是,如果删除此连接字符串并通过Azure管理门户指定,则会发生错误.

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
Run Code Online (Sandbox Code Playgroud)

这会导致错误:在应用程序配置文件中找不到名为"DataContext"的连接字符串.

Dav*_*bbo 16

看到类似的问题在这里.

尝试将web.config中的连接字符串保留为某个值(某个测试连接字符串或某个虚拟值),例如

<connectionStrings>
  <add name="DataContext" connectionString="dummy" providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!它需要是一个虚拟值(非空)或VS抱怨. (4认同)
  • 谢谢,我编辑了添加假人的答案. (2认同)