gpt4 book ai didi

c# - 在 web.config 中为 dev、qa 和 prod 设置 Entity Framework 连接字符串时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-03 23:05:23 27 4
gpt4 key购买 nike

我继承了一个旧的 vs.net 2010 WCF web 服务项目来进行修复。它在其 web.config 中具有以下 connectionString 设置,以区分开发、质量检查和生产,我在尝试调试时无法连接到它们,希望有人能提供帮助:

  <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>

我添加的代码通过以下“using”语句建立数据库连接:

using (OrderDataContextContainer db = new OrderDataContextContainer())
{
//my code fix here
}

如果我将以下 web.config 连接添加到 connectionStrings 列表,它连接正常(即没有附加“开发”、“QA”或“生产”):

<add name="OrderDataContextContainer" connectionString="metadata=res://<conn string here>" providerName="System.Data.EntityClient" /> 

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

The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.

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

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

最佳答案

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

您可以做的是使用 web.config 转换,关于如何在您的项目中进行转换:How to: Transform Web.config When Deploying a Web Application Project

关于c# - 在 web.config 中为 dev、qa 和 prod 设置 Entity Framework 连接字符串时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41399435/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com