在运行时更改LINQ-to-SQL连接字符串
本文关键字:连接 字符串 LINQ-to-SQL 运行时 | 更新日期: 2023-09-27 18:06:31
我的一个应用程序广泛使用LINQ-to-SQL,现在它是一个应用程序的要求,能够切换数据库,它正在查看运行时-所以本质上我希望能够选择我的数据上下文的连接字符串,当我声明它。
有简单的方法吗?
调用:
DataContext context = new DataContext ("cxstring");
你可以使用App.config来存储你的连接字符串,然后用它们来填充下拉框或其他东西。然后在LINQ2SQL数据上下文的构造函数中使用选定的Connection字符串。
应用程序配置:
<configuration>
<connectionStrings>
<add key="ConString1" connectionString="ConnectionStringGoesHere"/>
<add key="ConString2" connectionString="ConnectionStringGoesHere"/>
</connectionStrings>
使用ConfigurationManager类来访问您的连接字符串。
string conString = ConfigurationManager.ConnectionStrings["ConString1"].ConnectionString;
您还可以枚举它们或将它们设置为数据源以填充下拉框。
然后简单地将选中的字符串作为LINQ2SQL数据上下文构造函数的第一个参数传入。
MyModelDataContext context = new MyModelDataContext(selectedConString);
如果您的意思是通过切换您的应用程序正在查看的数据库,测试数据库和生产数据库,只需您可以在您的web.config
文件中使用相同的键,但具有不同的连接字符串,并根据所需的数据库注释其中一个连接字符串
<add name="MyConnectioString" connectionString="Data Source=myServer;Initial Catalog=ProductionDB;" providerName="System.Data.SqlClient" />
<!--<add name="MyConnectioString" connectionString="Data Source=myServer;Initial Catalog=TestDB;" providerName="System.Data.SqlClient" />-->
通过注释和取消注释可以在运行时在两个数据库之间切换。
选择上下文的连接字符串,为其提供构造函数
DataContext Productioncontext = new DataContext ("MyConnectioString");