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();