我可以使用LINQ to SQL DataContexts轻松更改两个连接字符串吗?

时间:2012-03-16 17:27:57

标签: linq-to-sql connection-string

我对如何做标题所说的感到困惑。

基本上我的配置文件中有两个连接字符串,一个是生产链接字符串,另一个是开发字符串。

我有一个简单的类库项目,基本上是我的数据访问层,我想进行单元测试。我不想在我的生产数据库上运行所有单元测试,所以我希望它使用不同的连接字符串。

在我的测试项目的启动和拆除时,它将在我的开发数据库中创建必要的表和临时数据,而在我的真实项目中,我希望它使用生产项目。

在我的数据访问层类库中,我只是公开DataContext或某些方法来切换模式(调试,生产)?那么我认为改变连接字符串的唯一方法是通过DataContext.Connection.ConnectionString属性...但我不确定这是否正确。

对此的任何见解都会很棒。

2 个答案:

答案 0 :(得分:1)

如果您正在开发基于Web的解决方案,则可以使用web.config transformation获取不同的.config文件以进行调试和生产。

如果您正在创建桌面解决方案,那么它会更加困难,但有可用的解决方案。请参阅此SO文章:App.Config Transformation for projects which are not Web Projects in Visual Studio 2010?

答案 1 :(得分:1)

在创建datacontext的新实例时,您可以传递要与其一起使用的连接字符串:

MyDataContext context = new MyDataContext(connectionString);