Linq to SQL Server 名称更改

问题描述

我们有一个 C# 桌面应用程序,它使用数据上下文进行 linq 到 sql。它在一段时间内运行良好,然后 IT 人员将数据库移动到不同的服务器。哎呀,应用程序必须用新的服务器名称重新编译。

有没有办法在运行时设置服务器名称并且仍然使用linq to sql?我还没有找到在运行时修改数据上下文的方法。有没有人找到一种方法来拥有可变数据库服务器名称和 linq to sql

我知道我可以切换到凝视 sql 命令并在那里处理它,但我想继续使用 linq。

有什么建议吗?

解决方法

伯尼

我不确定这是否是您要问的问题,但是您可以通过在新建 dbx 时添加连接字符串作为参数来动态设置 DataContext。例如:

var dbx = new DataClasses1DataContext(@"Data Source=YourServer;Initial Catalog=YourDb;Integrated Security=True");

当我的软件与各种后端集成并且需要在运行时确定哪个后端时,我会这样做。同样,我不确定这是否是您所追求的,但如果是,您可能会发现这很有帮助。