【发布时间】:2015-06-14 22:37:38
【问题描述】:
https://github.com/linq2db/linq2db 我需要使用不同的连接字符串,但找不到如何制作。
【问题讨论】:
标签: asp.net-mvc linq linq2db
https://github.com/linq2db/linq2db 我需要使用不同的连接字符串,但找不到如何制作。
【问题讨论】:
标签: asp.net-mvc linq 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 中添加新的或更改现有的连接字符串。
【讨论】: