LINQ to SQL connectionstring

Pri*_*ner 6 c# wpf linq-to-sql

我有一个应用程序,我希望能够为我的LINQ to SQL配置连接字符串.我已经尝试了很多不同的方法,但似乎无法让它发挥作用.我想在运行应用程序时在代码中动态执行此操作,原因是用户可以更改连接设置.

如果我从app.config中删除connectionString,应用程序仍然正常(通信),这让我想知道我应该在哪里更改连接字符串?

Fra*_*ega 9

我认为最好的方法是结合Albin和Rup的答案.在配置文件中有一个值,然后在运行时读取它并将其提供给上下文构造函数,如下所示:

WEB.CONFIG:

<appSettings>
<add key="ConString" Value="The connection string" />
Run Code Online (Sandbox Code Playgroud)

码:

//read value from config
var DBConnString = System.Configuration.ConfigurationManager.AppSettings("ConString");

//open connection
var dataContext= new MyDataContext(sDBConnString)
Run Code Online (Sandbox Code Playgroud)

这样,您甚至可以在运行时更改连接字符串,它将在正在运行的程序中运行并更改.


Rup*_*Rup 8

您可以将覆盖连接字符串传递给DataContext构造函数:

var db = new MyDataContext("Data Source=Something Else;")
Run Code Online (Sandbox Code Playgroud)