2017-05-30 5 views
-2

私はappsettings.jsonに2つの接続文字列を持っています。 1つはユーザーの情報と2つ目のアプリケーションDataを含みます。私は、様々なユースケースのために必要な設定を表す新しいタイプを作成している私はどうなるのかasp.netコアで2つの接続文字列を使用するようにstartup.csを設定するにはどうすればよいですか?

2つの接続文字列を取るためにstartup.csを設定する方法
{ "Logging": { 
    "IncludeScopes": false, 
    "LogLevel": { 
     "Default": "Warning" 
    } }, "Data": { 
    "ConnectionStrings": { 
     "RoomBookingDB": "Server=(localdb)\\MSSQLLocalDB;Database=RoomBookingDB;Trusted_Connection=True;", 
     "Intranet": "Server=bdServer;Database=Intranet; ..." 
    } } } 
+1

あなたはSqlConnectionsそのように登録しないでください。必要に応じて、データレイヤーにSqlConnectionsを作成します。 DIコンテナにSqlConnectionsを作成しないでください。 – mason

+0

フレームワークがあなたに与える接続を魔法のように推測すると思いますか? –

答えて

1

をお願いしたいと思います。例:

public class UserDatabaseSettings 
{ 
    public string ConnectionString { get; set; } 
} 

public class ApplicationDatabaseSettings 
{ 
    public string ConnectionString { get; set; } 
} 

各設定クラスのインスタンスを作成し、DIコンテナに登録します。これは、あなたのクラスは、接続文字列の正しいタイプを要求することができます

...

public class UserRepository(UserDatabaseSettings settings) 
{ 
    //use settings.ConnectionString here 
} 
関連する問題