C# 在web.config中为dev、qa和&;设置实体框架连接字符串时遇到问题;戳

C# 在web.config中为dev、qa和&;设置实体框架连接字符串时遇到问题;戳,c#,asp.net,entity-framework,web-config,linq-to-entities,C#,Asp.net,Entity Framework,Web Config,Linq To Entities,我继承了一个旧的vs.NET2010WCFWebService项目来修复它。它的web.config中有以下connectionString设置,用于区分开发人员、qa人员和生产人员&我在尝试调试时无法连接到他们,希望有人能提供帮助: <connectionStrings> <add name="OrderDataContextContainer.Development" connectionString="metadata=res://<conn

我继承了一个旧的vs.NET2010WCFWebService项目来修复它。它的web.config中有以下connectionString设置,用于区分开发人员、qa人员和生产人员&我在尝试调试时无法连接到他们,希望有人能提供帮助:

  <connectionStrings>    
     <add name="OrderDataContextContainer.Development" connectionString="metadata=res://<conn string here>" providerName="System.Data.EntityClient" />
     <add name="OrderDataContextContainer.QA" connectionString="metadata=res://<conn string here>" providerName="System.Data.EntityClient" />
     <add name="OrderDataContextContainer.Production" connectionString="metadata=res://<conn string here>" providerName="System.Data.EntityClient" /> 
 </connectionStrings>
如果我将以下web.config连接添加到ConnectionString列表中,则连接良好(即未附加“开发”、“QA”或“生产”):


但是,我不能这样做,因为我的公司需要单独的dev、qa和prod字符串,以便在我将此修复发送给qa团队进行测试时使用。如果不包括上述连接,则在“使用”语句中会收到以下错误:

using (OrderDataContextContainer db = new OrderDataContextContainer())
 {
      //my code fix here
 }
指定的命名连接在配置中找不到、不打算与EntityClient提供程序一起使用,或者无效

在运行该项目之前,我在vs.net配置管理器中创建了“开发”、“QA”和“生产”配置,并将其设置为“开发”,但没有成功


知道如何让我的应用程序通过前面提到的连接字符串进行连接吗?

这是因为
EF
总是在
.config
文件中搜索相同的连接字符串。名称在
EF
设计器中定义,通常与上下文类具有相同的名称


您所能做的就是使用
web.config
转换,了解如何在项目中进行转换:

也许这可以帮助您。您需要添加web.QA.Config和web.Production.Config。当您开始发布时,您可以选择不同的配置文件(web.config),然后可以转换连接字符串。转换是一种方法,但另一种选择是,如果您想在代码中进行转换。
<add name="OrderDataContextContainer" connectionString="metadata=res://<conn string here>" providerName="System.Data.EntityClient" />