将 .edmx connectionString 添加到 Azure“应用程序设置”

Dan*_*111 2 connection-string azure azure-web-app-service

所以我试图将我的连接字符串添加到 Azure 以获取 Entity Framework Database First edmx 文件,但进展并不顺利。

我在 Web.Config 中的 conn 字符串:

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

我在 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;"
Run Code Online (Sandbox Code Playgroud)

请告诉我我做错了什么...我看过 5 个帖子,这些帖子告诉我只需将我的连接字符串剪切并粘贴在那里,但他们没有提到需要前导或尾随引号......另外不确定它是否适用于 edmx ......我也尝试过使用“自定义”。

非常感谢您的任何指导!!

Pun*_*pta 6

假设您尝试直接在 azure 门户中为 webapp 配置连接字符串,则必须确保 3 件事

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

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

3) 像这样在 web.config 中保留一个虚拟的连接字符串配置

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

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

Server Error in '/' Application.
The connection string 'nextgenplusEntities' in the application's configuration file does not contain the required providerName attribute."
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。