我正在开发一个WinForm应用程序。我已经将数据访问逻辑实现到“库项目”中,我在WinForm项目中将其设置为引用。我正在使用LINQ to SQL连接到我的项目数据库,将我使用的表映射到dbml
文件。现在我必须发布我的项目并更改连接字符串以指向生产数据库。
是否可以在不重新编译项目的情况下更改连接字符串? 它在调试时和维护时非常有用......
我试图在app.config
和Settings
文件中更改它,但它似乎仍然指向开发数据库。
我在哪里做错了?
答案 0 :(得分:3)
本文中建议的解决方案非常好:http://goneale.com/2009/03/26/untie-linq-to-sql-connection-string-from-application-settings/
但我决定以不同的方式解决我的问题。
在我的DAO类中添加的dbml
文件中没有修改任何带参数的构造函数:
public MyDataAccessClass(string connectionString)
{
_connString = connectionString;
}
然后我没有使用DataClasses()
构造函数来实例化LINQ-TO-SQL类,而是将其替换为DataClasses(_connString)
。
现在我可以在需要的地方使用数据访问库。连接字符串将在referencig应用程序的app.config
中(或其他任何位置)设置。