LINQ to SQL connectionstring
我有一个应用程序,我希望能够为我的LINQ to SQL配置连接字符串。 我已经尝试了很多不同的方法,但似乎无法让它发挥作用。 我想在运行应用程序时在代码中动态执行此操作,原因是用户可以更改连接设置。
如果我从app.config中删除connectionString,应用程序仍然正常(通信),这让我想知道我应该在哪里更改连接字符串?
我认为最好的方法是结合Albin和Rup的答案。 在配置文件中有一个值,然后在运行时读取它并将其提供给上下文构造函数,如下所示:
WEB.CONFIG:
码:
//read value from config var DBConnString = System.Configuration.ConfigurationManager.AppSettings("ConString"); //open connection var dataContext= new MyDataContext(sDBConnString)
这样,您甚至可以在运行时更改连接字符串,它将工作并更改正在运行的程序。
您可以将覆盖连接字符串传递给DataContext构造函数 :
var db = new MyDataContext("Data Source=Something Else;")
DBML类(YourDataContext)有一个重载的构造函数,它接受ConnectionString,因此请尝试实例化而不是默认的。从app.config获取连接字符串并使用它来创建实例。
YourDataContext context = new YourDataContext (ConfigurationManager.ConnectionStrings["ConnStringInAppConfig"].ConnectionString)
你应该在app.config中更改它。 它没有的原因是LINQ2SQL设计器创建了设计DBML时使用的连接字符串的回退。 如果在app.config中定义连接字符串,则使用该字符串。
默认情况下,您的构造函数如下所示
public dbDataContext() : base(global::invdb.Properties.Settings.Default.Enventory_4_0ConnectionString, mappingSource) { OnCreated(); }
您可以更改返回值而不是
//Original public string Enventory_4_0ConnectionString { get { return ((string)(this["Enventory_4_0ConnectionString"])); } }
这个
上述就是C#学习教程:LINQ to SQL connectionstring分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
//Modified code public string Enventory_4_0ConnectionString { get { return (System.Configuration.ConfigurationManager.ConnectionStrings["Enventory_4_0ConnectionString"].ConnectionString); } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1002791.html