【问题标题】:EF6 Connection String in AzureAzure 中的 EF6 连接字符串
【发布时间】:2016-01-31 23:16:11
【问题描述】:

我们在 Azure 上有一个网站和一个 sql 服务器。我们已在 Azure 门户中包含实体框架连接字符串,但出现以下错误: 应用程序配置文件中的连接字符串“MyEntities”不包含必需的 providerName 属性。”

查看连接字符串,显然有提供者:

metadata=res:///MyEntities.csdl|res:///MyEntities.ssdl|res://*/MyEntities.msl;provider=System.Data.SqlClient ;provider connection string="data source=tcp:myserver.database.windows.net,1433;initial catalog=mydatabase;user id=user@myserver;password=PASSWRD;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System .Data.EntityClient"

所以它要求什么?我们还将" 替换为普通引号,但仍然出现此错误。

在我们的开发中使用相同的连接字符串并连接到 azure sql 服务器时,一切正常,但不知何故,我们放置在门户中替换 web.config 中的连接字符串出现问题。

任何帮助将不胜感激

【问题讨论】:

    标签: azure-sql-database


    【解决方案1】:

    门户没有接受 providerName 属性的能力。因此,您需要在 web.config 中保留连接字符串,它指定名称和 providerName,但只需为连接字符串输入一个虚拟值。现在将该连接字符串值放入门户连接字符串中。当它运行时,它会从 web.config 中获取 providerName,然后用你在 Azure 门户应用程序设置 [连接字符串] 中输入的连接字符串值覆盖 web.config 中的虚拟连接字符串。见SQL Azure EF Database First Connection String in Azure Management Portal

    【讨论】:

      【解决方案2】:

      您的 Web.Config 文件中缺少提供者名称。您的 ConnectionStrings Add Element、Name、ConnectionString 和 ProviderName 上有三个属性。您缺少 Add Element 上的 ProviderName 属性。我展开属性以清楚地显示它们,只需在您的 connectionString 属性后添加 providerName="System.Data.EntityClient" 就可以了!

       <connectionStrings>
              <add 
      
             name="XXXXXXContainer" 
      
             connectionString="metadata=res://*/XXXXXX.csdl|res://*/XXXXXX.ssdl|res://*/XXXXXX.msl;
             provider=System.Data.SqlClient;
             provider connection string=&quot;
             data source=chibitestdbserver.database.windows.net;
             initial catalog=XXXXXX;
             persist security info=True;
             user id=chibionos;
             password=XXXXXXXX;
             MultipleActiveResultSets=True;
             App=EntityFramework&quot;" 
      
            providerName="System.Data.EntityClient" />
            </connectionStrings>
      

      【讨论】:

      • 谢谢。我已经有了。如果您查看我显示的连接字符串,它具有提供程序名称。这就是混乱的原因。错误消息说给我提供程序,而它已经在连接字符串中!!!
      • 请您再尝试回答我们的问题。谢谢!
      猜你喜欢
      • 2014-02-05
      • 1970-01-01
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      相关资源
      最近更新 更多