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

时间:2015-04-09 13:57:25

标签: asp.net-mvc linq linq2db

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

只要您为其指定了不同的名称,就可以提供不同的连接字符串:

 <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>

答案 2 :(得分:0)

我找到了解决方案。它不是很好。 (我使用firebird):

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

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