diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/ISqlSugarDbContextDependencies.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/ISqlSugarDbContextDependencies.cs index 46c973a4..84f161d8 100644 --- a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/ISqlSugarDbContextDependencies.cs +++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/ISqlSugarDbContextDependencies.cs @@ -5,6 +5,11 @@ namespace Yi.Framework.SqlSugarCore; public interface ISqlSugarDbContextDependencies { + /// + /// 执行顺序 + /// + int ExecutionOrder { get; } + void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient); void DataExecuted(object oldValue, DataAfterModel entityInfo); void DataExecuting(object oldValue, DataFilterModel entityInfo); diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContext.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContext.cs index f2addb68..93b0212a 100644 --- a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContext.cs +++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContext.cs @@ -9,6 +9,8 @@ public abstract class SqlSugarDbContext : ISqlSugarDbContextDependencies //属性注入 public IAbpLazyServiceProvider LazyServiceProvider { get; set; } protected ISqlSugarClient SqlSugarClient { get;private set; } + public int ExecutionOrder => 0; + public void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient) { SqlSugarClient = sqlSugarClient; diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContextFactory.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContextFactory.cs index e1ff125e..b5623c1c 100644 --- a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContextFactory.cs +++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/SqlSugarDbContextFactory.cs @@ -60,7 +60,7 @@ namespace Yi.Framework.SqlSugarCore Action dataExecuted = null; Action onSqlSugarClientConfig = null; - foreach (var dependency in SqlSugarDbContextDependencies) + foreach (var dependency in SqlSugarDbContextDependencies.OrderBy(x=>x.ExecutionOrder)) { onLogExecuting+= dependency.OnLogExecuting; onLogExecuted += dependency.OnLogExecuted; @@ -144,7 +144,7 @@ namespace Yi.Framework.SqlSugarCore //额外的实体服务需要这里配置, Action entityService = null; - foreach (var dependency in SqlSugarDbContextDependencies) + foreach (var dependency in SqlSugarDbContextDependencies.OrderBy(x=>x.ExecutionOrder)) { entityService += dependency.EntityService; } diff --git a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/UnitOfWorkSqlsugarDbContextProvider.cs b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/UnitOfWorkSqlsugarDbContextProvider.cs index 2e0fe69b..d67b24ee 100644 --- a/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/UnitOfWorkSqlsugarDbContextProvider.cs +++ b/Yi.Abp.Net8/framework/Yi.Framework.SqlSugarCore/Uow/UnitOfWorkSqlsugarDbContextProvider.cs @@ -13,8 +13,6 @@ namespace Yi.Framework.SqlSugarCore.Uow { public class UnitOfWorkSqlsugarDbContextProvider : ISugarDbContextProvider where TDbContext : ISqlSugarDbContext { - private readonly ISqlSugarDbConnectionCreator _dbConnectionCreator; - public ILogger> Logger { get; set; } public IServiceProvider ServiceProvider { get; set; } @@ -28,8 +26,7 @@ namespace Yi.Framework.SqlSugarCore.Uow IUnitOfWorkManager unitOfWorkManager, IConnectionStringResolver connectionStringResolver, ICancellationTokenProvider cancellationTokenProvider, - ICurrentTenant currentTenant, - ISqlSugarDbConnectionCreator dbConnectionCreator + ICurrentTenant currentTenant ) { UnitOfWorkManager = unitOfWorkManager; @@ -37,7 +34,6 @@ namespace Yi.Framework.SqlSugarCore.Uow CancellationTokenProvider = cancellationTokenProvider; CurrentTenant = currentTenant; Logger = NullLogger>.Instance; - _dbConnectionCreator = dbConnectionCreator; } //private static object _databaseApiLock = new object();