我创建了与我的生产数据库一起使用的代码。但我希望方便地更改数据库名称。它是没有进一步行动和代码重复的方式。我怎么能这样做?
我有数据库" MyDB_1"," MyDB_2" - 它充满了用于测试的数据库副本等。
通过ODBC更改连接的方法也很好。但我怎么做呢?
DataTrackerClassesDataContext ctx = new DataTrackerClassesDataContext();
// !!! I cant change the property because it's readonly:
//ctx.Connection.Database = "MyDB_1";
//ctx.Connection.Database = "MyDB_2";
Console.WriteLine(ctx.Connection.Database);
var custQuery =
from m in ctx.models
where m.status == 1
select m.id;
foreach (int id in custQuery)
{
Console.WriteLine("{0} ", id);
}
答案 0 :(得分:5)
如果要为datacontext切换数据库,那么在datacontext的构造函数中,您将输入新的连接字符串。
您可以这样做以保持格式:
string connectionString =
string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True",
serverName,
dataBaseName);
DataTrackerClassesDataContext ctx = new DataTrackerClassesDataContext(connectionString);
您只需根据要使用的数据库替换连接字符串。