[ASP.NET] - ApplicationDbContext中的连接字符串操作

时间:2018-04-20 16:23:30

标签: asp.net connection-string dbcontext

我今天在工作中遇到了挑战(已经解决了,但是我想在这里说出来,也许有更好更聪明的方法) 我正在与另一位开发人员合作开发一个项目的VSTS。 我们使用不同的连接字符串,所以我们做的是当我拉,我评论他的连接字符串并激活我的。 当他拉扯时,他评论我并激活他。

我们不想创建另一个git-branch。

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

以下是我如何做到这一点的实例。

编辑我的Web.Config文件
注意:名称:DefaultConnection,LocalConnection,livedbsource,localdbsource,localMachineName

 <connectionStrings>
 <!--Live-->
 <add name="DefaultConnection" connectionString="Data Source=livedbsource;Initial Catalog=livedbname;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;MultipleActiveResultSets=true;" providerName="System.Data.SqlClient" />
<!--Dev-->
<add name="LocalConnection" connectionString="Data Source=localdbsource;Initial Catalog=localdbname;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;MultipleActiveResultSets=true;" providerName="System.Data.SqlClient" />
</connectionStrings>

对于ApplicationDbContext

 static string ServerName = System.Net.Dns.GetHostName();
    //setting what connection string to use - tenary operator
    static string ConnectionStringID = (ServerName == "localMachineName") ? "LocalConnection" : "DefaultConnection";
    public ApplicationDbContext()
        : base(ConnectionStringID, throwIfV1Schema: false)
    {
    }

在Windows 7及更高版本上,您可以按Windows徽标并搜索系统信息获取localMachineName,然后查找系统名称&#39;

以下是我在Visual Studio 2017中在直播项目中完成的YouTube视频,它运行良好。

https://youtu.be/oKg6ewKhkYs