feat: 完成dbfactory搭建
This commit is contained in:
@@ -5,6 +5,11 @@ namespace Yi.Framework.SqlSugarCore;
|
|||||||
|
|
||||||
public interface ISqlSugarDbContextDependencies
|
public interface ISqlSugarDbContextDependencies
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 执行顺序
|
||||||
|
/// </summary>
|
||||||
|
int ExecutionOrder { get; }
|
||||||
|
|
||||||
void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient);
|
void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient);
|
||||||
void DataExecuted(object oldValue, DataAfterModel entityInfo);
|
void DataExecuted(object oldValue, DataAfterModel entityInfo);
|
||||||
void DataExecuting(object oldValue, DataFilterModel entityInfo);
|
void DataExecuting(object oldValue, DataFilterModel entityInfo);
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ public abstract class SqlSugarDbContext : ISqlSugarDbContextDependencies
|
|||||||
//属性注入
|
//属性注入
|
||||||
public IAbpLazyServiceProvider LazyServiceProvider { get; set; }
|
public IAbpLazyServiceProvider LazyServiceProvider { get; set; }
|
||||||
protected ISqlSugarClient SqlSugarClient { get;private set; }
|
protected ISqlSugarClient SqlSugarClient { get;private set; }
|
||||||
|
public int ExecutionOrder => 0;
|
||||||
|
|
||||||
public void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient)
|
public void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient)
|
||||||
{
|
{
|
||||||
SqlSugarClient = sqlSugarClient;
|
SqlSugarClient = sqlSugarClient;
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ namespace Yi.Framework.SqlSugarCore
|
|||||||
Action<object, DataAfterModel> dataExecuted = null;
|
Action<object, DataAfterModel> dataExecuted = null;
|
||||||
Action<ISqlSugarClient> onSqlSugarClientConfig = null;
|
Action<ISqlSugarClient> onSqlSugarClientConfig = null;
|
||||||
|
|
||||||
foreach (var dependency in SqlSugarDbContextDependencies)
|
foreach (var dependency in SqlSugarDbContextDependencies.OrderBy(x=>x.ExecutionOrder))
|
||||||
{
|
{
|
||||||
onLogExecuting+= dependency.OnLogExecuting;
|
onLogExecuting+= dependency.OnLogExecuting;
|
||||||
onLogExecuted += dependency.OnLogExecuted;
|
onLogExecuted += dependency.OnLogExecuted;
|
||||||
@@ -144,7 +144,7 @@ namespace Yi.Framework.SqlSugarCore
|
|||||||
//额外的实体服务需要这里配置,
|
//额外的实体服务需要这里配置,
|
||||||
|
|
||||||
Action<PropertyInfo, EntityColumnInfo> entityService = null;
|
Action<PropertyInfo, EntityColumnInfo> entityService = null;
|
||||||
foreach (var dependency in SqlSugarDbContextDependencies)
|
foreach (var dependency in SqlSugarDbContextDependencies.OrderBy(x=>x.ExecutionOrder))
|
||||||
{
|
{
|
||||||
entityService += dependency.EntityService;
|
entityService += dependency.EntityService;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,8 +13,6 @@ namespace Yi.Framework.SqlSugarCore.Uow
|
|||||||
{
|
{
|
||||||
public class UnitOfWorkSqlsugarDbContextProvider<TDbContext> : ISugarDbContextProvider<TDbContext> where TDbContext : ISqlSugarDbContext
|
public class UnitOfWorkSqlsugarDbContextProvider<TDbContext> : ISugarDbContextProvider<TDbContext> where TDbContext : ISqlSugarDbContext
|
||||||
{
|
{
|
||||||
private readonly ISqlSugarDbConnectionCreator _dbConnectionCreator;
|
|
||||||
|
|
||||||
public ILogger<UnitOfWorkSqlsugarDbContextProvider<TDbContext>> Logger { get; set; }
|
public ILogger<UnitOfWorkSqlsugarDbContextProvider<TDbContext>> Logger { get; set; }
|
||||||
public IServiceProvider ServiceProvider { get; set; }
|
public IServiceProvider ServiceProvider { get; set; }
|
||||||
|
|
||||||
@@ -28,8 +26,7 @@ namespace Yi.Framework.SqlSugarCore.Uow
|
|||||||
IUnitOfWorkManager unitOfWorkManager,
|
IUnitOfWorkManager unitOfWorkManager,
|
||||||
IConnectionStringResolver connectionStringResolver,
|
IConnectionStringResolver connectionStringResolver,
|
||||||
ICancellationTokenProvider cancellationTokenProvider,
|
ICancellationTokenProvider cancellationTokenProvider,
|
||||||
ICurrentTenant currentTenant,
|
ICurrentTenant currentTenant
|
||||||
ISqlSugarDbConnectionCreator dbConnectionCreator
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
UnitOfWorkManager = unitOfWorkManager;
|
UnitOfWorkManager = unitOfWorkManager;
|
||||||
@@ -37,7 +34,6 @@ namespace Yi.Framework.SqlSugarCore.Uow
|
|||||||
CancellationTokenProvider = cancellationTokenProvider;
|
CancellationTokenProvider = cancellationTokenProvider;
|
||||||
CurrentTenant = currentTenant;
|
CurrentTenant = currentTenant;
|
||||||
Logger = NullLogger<UnitOfWorkSqlsugarDbContextProvider<TDbContext>>.Instance;
|
Logger = NullLogger<UnitOfWorkSqlsugarDbContextProvider<TDbContext>>.Instance;
|
||||||
_dbConnectionCreator = dbConnectionCreator;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//private static object _databaseApiLock = new object();
|
//private static object _databaseApiLock = new object();
|
||||||
|
|||||||
Reference in New Issue
Block a user