From 8e2231df90ea189b887cf1844521e300ff6c5421 Mon Sep 17 00:00:00 2001 From: Falcon <12919280+falconfly@user.noreply.gitee.com> Date: Mon, 19 Aug 2024 16:03:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E7=A7=9F=E6=88=B7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Falcon.SugarApi/DatabaseManager/DbContextBase.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Falcon.SugarApi/DatabaseManager/DbContextBase.cs b/Falcon.SugarApi/DatabaseManager/DbContextBase.cs index 6a94a61..10c810c 100644 --- a/Falcon.SugarApi/DatabaseManager/DbContextBase.cs +++ b/Falcon.SugarApi/DatabaseManager/DbContextBase.cs @@ -2,6 +2,7 @@ using Microsoft.Extensions.Logging; using SqlSugar; using System; +using System.Linq; namespace Falcon.SugarApi.DatabaseManager { @@ -24,6 +25,17 @@ namespace Falcon.SugarApi.DatabaseManager this.Logger = service.GetService(typeof(ILogger<>).MakeGenericType(GetType())) as ILogger; ConfigureExternalServices(this.CurrentConnectionConfig); } + /// + /// 使用服务提供程序和配置集合初始化数据库上下文 + /// + /// 服务提供程序 + /// 数据库上下文配置集合 + public DbContextBase(IServiceProvider service,params ConnectionConfig[] configs) : base(configs.ToList()) { + this.Logger = service.GetService(typeof(ILogger<>).MakeGenericType(GetType())) as ILogger; + foreach(var c in configs) { + ConfigureExternalServices(this.GetConnection(c.ConfigId).CurrentConnectionConfig); + } + } private static void ConfigureExternalServices(ConnectionConfig config) { config.ConfigureExternalServices ??= new ConfigureExternalServices();