当两台计算机上的SQL Server Express实例不同时,在connectionstring中定义数据源

时间:2013-03-29 14:54:46

标签: asp.net sql-server asp.net-mvc sql-server-express

我和我的同事一起研究ASP.NET MVC解决方案。每个人都在自己的电脑上工作。我的SQL Server Express实例名为SQLEXPRESS,而他的实例是默认(本地)实例。

web.config中的我的连接字符串是这样的:

<add name="Prog.Models.BreezeContext" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Prog;Integrated Security=True"/>

此时,我的同事需要将连接字符串更改为:

<add name="Prog.Models.BreezeContext" providerName="System.Data.SqlClient" connectionString="Data Source=(local);Initial Catalog=Prog;Integrated Security=True"/>

您会注意到数据源的不同之处:.\SQLEXPRESS&lt;&gt; (local)

我的问题:我们怎样才能避免每次运行应用时都更改连接字符串?我不想卸载/重新安装我的SQL Server Express以拥有本地实例。我想知道是否还有其他选择。

感谢。

1 个答案:

答案 0 :(得分:1)

您可以创建两个特定于每台计算机的配置文件,并使用预构建脚本来确定要使用的配置文件。

e.g。你可以有两个connectionstrings.config文件,connectionstrings.bronzato.config和connectionstrings.colleague.config,每个都有特定于环境的设置。

在预构建脚本中,您可以查找计算机名称环境变量,并通过connectionstrings.config复制文件。这样您就可以拥有多个配置文件,系统将根据环境使用正确的配置文件。

您还可以创建单独的配置设置,并使用它来确定在预构建脚本中使用哪个文件。