LinqToDB:如何更改连接字符串,或在不使用项目配置的情况下进行设置

LinqToDB: How to change connection string, or set it without using project's configuration

https://github.com/linq2db/linq2db 我需要使用不同的连接字符串,但找不到如何制作它。

您可以提供不同的连接字符串,只要给它们不同的名称即可:

 <connectionStrings>
    <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=yourdatabasesource;User ID=User;Password=Yourpassword" />

 <add name="Northwind" 
    connectionString = "Server=.\;Database=Northwind;Trusted_Connection=True;Enlist=False;" 
    providerName     = "SqlServer" />

</connectionStrings>

编辑 1:


另一种方法是创建一个外部配置文件并在您的 web.config.

中引用它
  • 在您的解决方案中,添加一个新的配置文件并创建所有连接字符串(该文件应该只有连接字符串语法,没有其他内容) :

    <connectionStrings> Conenction name 1 Connection name 2 ...... </connectionStrings>

  • 在您对这个配置文件的 web.config 引用中:

    <connectionStrings configSource="Youconfigfilename.config"></connectionStrings>

我找到了解决办法。这不是很好。 (我用的是firebird):

public FirebirdDatabaseContext(IDataProvider provider, string connectionString):base(provider, connectionString){}

使用 IDataProvider 的重载。创建 FirebirdDatabaseContext 需要直接传递 new FirebirdDataProvider() 作为第一个参数,连接字符串作为第二个参数。

您可以使用 DataConnection.AddConfiguration(...)DataConnection.SetConnectionString(...) 在 linq2db 中添加新的或更改现有的连接字符串。