我遇到需要多个连接字符串来处理请求的情况,但我无法使用 Microsoft 企业库来实现这一点。
有人请告诉我如何动态设置连接字符串。
在互联网上发现了类似的问题,但没有解决我的问题,因此发布。
AFAIK,无法动态设置连接字符串,但是您可以编写自定义数据库工厂来创建具有动态连接字符串的数据库
public static class CustomDatabaseFactory
{
static readonly DbProviderFactory dbProviderFactory = DbProviderFactories.GetFactory("System.Data.SqlClient");
public static Database CreateDatabase(string connectionString)
{
return new GenericDatabase(connectionString, dbProviderFactory);
}
}
而不是调用这个
Database db = DatabaseFactory.CreateDatabase();
调用这个方法
Database db = CustomDatabaseFactory.CreateDatabase(connstring);
对我来说效果很好!