2017-05-30 50 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 
}