2017-05-30 72 views
-2

我在appsettings.json上有兩個連接字符串。一個包含用戶信息和第二個應用程序數據。我想問問如何startup.cs配置採取兩種連接字符串如何配置startup.cs在asp.net核心中使用2個連接字符串?

{ "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 
} 
相關問題