所以我尝试将我的连接字符串添加到Azure以获取实体框架数据库第一个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="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"" 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="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""
请告诉我我做错了什么......我已经看了5个帖子,告诉我只是将我的连接字符串剪切并粘贴在那里,但他们没有提到是领先的或者需要跟踪引号...也不确定它是否适用于edmx ...我已尝试使用&#34; custom&#34;也。
非常感谢任何指导!
答案 0 :(得分:3)
假设您尝试直接在webapp的azure门户中配置连接字符串,则必须确保3件事
1)替换&#34;使用原始连接中的单引号(') 在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."
希望这有帮助。