将 .edmx connectionString 添加到 Azure "Application Settings"

Adding .edmx connectionString to Azure "Application Settings"

所以我正在尝试将我的连接字符串添加到 Azure 以获取 Entity Framework 数据库优先 edmx 文件,但进展并不顺利。

我在 Web.Config 中的连接字符串:

<add name="MyEntities" connectionString="metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.ssdl|res://*/Models.MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MyDatabaseName.database.windows.net,1433;initial catalog=XXXXXX;persist security info=False;user id=XXXXXX;password=XXXXXXXXX;multipleactiveresultsets=False;connect timeout=30;encrypt=True;trustservercertificate=False;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

我在 Azure 中的连接字符串:

"metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.ssdl|res://*/Models.MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=tcp:MyDatabaseName.database.windows.net,1433;initial catalog=mydatabase;persist security info=False;user id=**************;password=**************;multipleactiveresultsets=False;connect timeout=30;encrypt=True;trustservercertificate=False;App=EntityFramework&quot;"

请告诉我哪里做错了...我看过 5 篇帖子告诉我只需将连接字符串剪切并粘贴到那里,但他们没有提到前导引号或尾随引号是需要...也不确定它是否适用于 edmx...我也尝试过使用 "custom"。

非常感谢您的指导!!

假设您尝试直接在 Azure 门户中为 Web 应用程序配置连接字符串,您必须确保三件事

1) 用原始连接中的单引号 (‘) 替换 " 在 web.config 中设置的字符串,所以我的变成

    metadata=res://*/Clash.csdl|res://*/Clash.ssdl|res://*/Clash.msl;provider=System.Data.SqlClient;provider connection string='data source=server.database.windows.net,1433;initial catalog=db;user id=websiteadmin@server;password=************;MultipleActiveResultSets=True;App=EntityFramework'

2) 确保连接字符串类型为 CUSTOM

3) 在 web.config 中保留虚拟连接字符串配置,例如

<connectionStrings>  <add name="nextgenplusEntities" connectionString="dummy"providerName="System.Data.EntityClient"/>   

如果我删除了虚拟连接字符串,那么事情对我来说就失败了……

Server Error in '/' Application.
The connection string 'nextgenplusEntities' in the application's configuration file does not contain the required providerName attribute."

希望这对您有所帮助。