Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq到SQL Server名称的更改_C#_Linq_Linq To Sql_Datacontext - Fatal编程技术网

C# Linq到SQL Server名称的更改

C# Linq到SQL Server名称的更改,c#,linq,linq-to-sql,datacontext,C#,Linq,Linq To Sql,Datacontext,我们有一个C#桌面应用程序,它将datacontext用于linq到sql。它在相当长的一段时间内运行良好,然后It人员将数据库移动到另一台服务器。哎哟,应用程序必须用新的服务器名重新编译 有没有一种方法可以在运行时设置服务器名称,并且仍然使用linq to sql?我无法找到在运行时修改datacontext的方法。是否有人找到了一种方法来使用可变数据库服务器名称和linq到sql 我知道我可以切换到启动sql命令并在那里处理它,但我想继续使用linq 有什么建议吗?伯尼 我不确定这是否是您要

我们有一个C#桌面应用程序,它将datacontext用于linq到sql。它在相当长的一段时间内运行良好,然后It人员将数据库移动到另一台服务器。哎哟,应用程序必须用新的服务器名重新编译

有没有一种方法可以在运行时设置服务器名称,并且仍然使用linq to sql?我无法找到在运行时修改datacontext的方法。是否有人找到了一种方法来使用可变数据库服务器名称和linq到sql

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

有什么建议吗?

伯尼

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

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

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

Db服务器名称与Linq无关。您只需要将连接字符串放到服务器的配置文件中。这样,当您再次更改db server时,只需更改配置文件.Sergey中的一个字符串,哪个配置文件?或者,您是指将配置文件作为存储配置的通用位置吗?我是指web.config、app.config或appsettings.json。我不知道您使用的是什么网络框架。因此可以针对一台服务器构建datacontext,然后在实例化datacontext时更改连接字符串以指向另一台服务器?datacontext是针对数据库而不是服务器构建的。数据库可以移动到任何服务器