Csharp/C#教程:LINQ to SQL connectionstring分享


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

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐