2024-11-19 11:53:57 +08:00
|
|
|
|
using System.Reflection;
|
|
|
|
|
|
using SqlSugar;
|
|
|
|
|
|
using Volo.Abp.DependencyInjection;
|
2024-11-19 16:36:33 +08:00
|
|
|
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
2024-11-19 11:53:57 +08:00
|
|
|
|
|
|
|
|
|
|
namespace Yi.Framework.SqlSugarCore;
|
|
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// SqlSugar数据库上下文基类
|
|
|
|
|
|
/// </summary>
|
2024-11-19 11:53:57 +08:00
|
|
|
|
public abstract class SqlSugarDbContext : ISqlSugarDbContextDependencies
|
|
|
|
|
|
{
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 服务提供者
|
|
|
|
|
|
/// </summary>
|
2024-11-20 13:43:35 +08:00
|
|
|
|
protected IAbpLazyServiceProvider LazyServiceProvider { get; }
|
|
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 数据库客户端实例
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
protected ISqlSugarClient SqlSugarClient { get; private set; }
|
2024-11-20 13:43:35 +08:00
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 执行顺序
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public virtual int ExecutionOrder => 0;
|
2024-11-20 13:43:35 +08:00
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
protected SqlSugarDbContext(IAbpLazyServiceProvider lazyServiceProvider)
|
|
|
|
|
|
{
|
|
|
|
|
|
LazyServiceProvider = lazyServiceProvider;
|
|
|
|
|
|
}
|
2024-11-19 12:05:26 +08:00
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 配置SqlSugar客户端
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public virtual void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient)
|
2024-11-19 11:53:57 +08:00
|
|
|
|
{
|
|
|
|
|
|
SqlSugarClient = sqlSugarClient;
|
|
|
|
|
|
CustomDataFilter(sqlSugarClient);
|
|
|
|
|
|
}
|
2025-02-23 03:06:06 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 自定义数据过滤器
|
|
|
|
|
|
/// </summary>
|
2024-11-19 11:53:57 +08:00
|
|
|
|
protected virtual void CustomDataFilter(ISqlSugarClient sqlSugarClient)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
2025-02-23 03:06:06 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 数据执行后事件
|
|
|
|
|
|
/// </summary>
|
2024-11-19 11:53:57 +08:00
|
|
|
|
public virtual void DataExecuted(object oldValue, DataAfterModel entityInfo)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 数据执行前事件
|
|
|
|
|
|
/// </summary>
|
2024-11-19 11:53:57 +08:00
|
|
|
|
public virtual void DataExecuting(object oldValue, DataFilterModel entityInfo)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// SQL执行前事件
|
|
|
|
|
|
/// </summary>
|
2024-11-19 11:53:57 +08:00
|
|
|
|
public virtual void OnLogExecuting(string sql, SugarParameter[] pars)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// SQL执行后事件
|
|
|
|
|
|
/// </summary>
|
2024-11-19 11:53:57 +08:00
|
|
|
|
public virtual void OnLogExecuted(string sql, SugarParameter[] pars)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 实体服务配置
|
|
|
|
|
|
/// </summary>
|
2024-11-19 11:53:57 +08:00
|
|
|
|
public virtual void EntityService(PropertyInfo propertyInfo, EntityColumnInfo entityColumnInfo)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|