繁体   English   中英

每个环境使用多个连接字符串的单个DbContext

[英]Single DbContext using multiple connection strings per environment

我知道目前我加入的一组开发人员不使用实体框架,但是他们对我来说很好。

当前,它们的连接字符串存储在web.config (或app.config )中

<add name="LH_RPMDB" 
     connectionString="data source=localhostdb;Database=dbsim;user id=sim;password=sim;Application Name=SIM-LH;" 
     providerName="System.Data.SqlClient" />
<add name="DEV_RPMDB" 
     connectionString="data source=devdb;Database=dbsim;user id=sim;password=sim;Application Name=SIM-dev;" 
     providerName="System.Data.SqlClient" />
<add name="QA_RPMDB" 
     connectionString="data source=qadb;Database=dbsim;user id=sim;password=sim;Application Name=SIM-qa;" 
     providerName="System.Data.SqlClient" />

现在他们告诉我对本地主机使用LH ,那么较高的环境将使其与DEVQA

我不确定他们是不是在“检测”该服务器的URL,因为我是团队新手。 我只是想让我的DbContext就位,以使用适当的数据库连接字符串。

目前我只有1个DbContext和一个连接字符串,因此

public class RPMContext : DbContext

但是我看到“他们”正在使用如下代码:

ws.Url = ConfigurationSettings.AppSettings(ConfigurationSettings.AppSettings("Environment") + "_SNTRAX")

但是,我想通过单个DbContext为所有环境利用几个连接字符串。

我找到了一些显示此示例web.config代码

<connectionStrings>
    <add name="DefaultConnection" 
         connectionString ...

然后

public TrackerContext() : base("Name=DefaultConnection") {}

我看到的另一个例子是

public partial class HOLDbEntities
{
    public HOLDbEntities(string connectionString)
        : base(connectionString) 

这是我见过的stackoverflow文章,虽然并没有真正带我到想要的位置

实体框架-使用相同的DbContext和不同的连接字符串

我想要什么? 好吧,我知道我需要在app.config拥有所有环境连接字符串(不要将web.config与该项目一起使用,因为它是一个控制台应用程序)。

我不知道如何知道我所处的环境,以便该应用程序成为虚拟的证明并只是“自动”工作

我正在考虑读取URL,但实际上它是一个控制台应用程序,所以我想知道是否在每个服务器环境中是否应针对要使用的连接字符串更改一个应用程序设置,因此“ LH”与“ DEV”和“ QA”以及然后是其他几个...

有什么想法吗?

尝试配置扩展吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM