リクエストを処理するために複数の接続文字列が必要な状況がありますが、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);
私のためにうまくいった!