C# 如何在DataContext中更改数据库名称
我创建的代码可以很好地处理我的生产数据库。但我想要一种简单的方法来更改数据库名称。这是一种无需进一步操作和代码重复的方式。我怎么能做到C# 如何在DataContext中更改数据库名称,c#,sql-server,linq-to-sql,odbc,datacontext,C#,Sql Server,Linq To Sql,Odbc,Datacontext,我创建的代码可以很好地处理我的生产数据库。但我想要一种简单的方法来更改数据库名称。这是一种无需进一步操作和代码重复的方式。我怎么能做到 DataTrackerClassesDataContext ctx = new DataTrackerClassesDataContext(); // !!! I cant change the property because it's readonly: //ctx.Connection.Database = "MyDB_1"; //ctx.Connec
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);
}
我有数据库“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);
}
如果要切换datacontext的数据库,则在datacontext的构造函数中输入新的连接字符串 您可以这样做以保持格式:
string connectionString =
string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True",
serverName,
dataBaseName);
DataTrackerClassesDataContext ctx = new DataTrackerClassesDataContext(connectionString);
您只需根据要使用的数据库替换连接字符串。谢谢,这就是我需要的!这是LINQ到SQL,不是两个:)顺便问一下,为什么使用它而不是实体框架?这就是web.config的用途。