using System.Reflection; using SqlSugar; using Volo.Abp.DependencyInjection; using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.SqlSugarCore; /// /// SqlSugar数据库上下文基类 /// public abstract class SqlSugarDbContext : ISqlSugarDbContextDependencies { /// /// 服务提供者 /// protected IAbpLazyServiceProvider LazyServiceProvider { get; } /// /// 数据库客户端实例 /// protected ISqlSugarClient SqlSugarClient { get; private set; } /// /// 执行顺序 /// public virtual int ExecutionOrder => 0; protected SqlSugarDbContext(IAbpLazyServiceProvider lazyServiceProvider) { LazyServiceProvider = lazyServiceProvider; } /// /// 配置SqlSugar客户端 /// public virtual void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient) { SqlSugarClient = sqlSugarClient; CustomDataFilter(sqlSugarClient); } /// /// 自定义数据过滤器 /// protected virtual void CustomDataFilter(ISqlSugarClient sqlSugarClient) { } /// /// 数据执行后事件 /// public virtual void DataExecuted(object oldValue, DataAfterModel entityInfo) { } /// /// 数据执行前事件 /// public virtual void DataExecuting(object oldValue, DataFilterModel entityInfo) { } /// /// SQL执行前事件 /// public virtual void OnLogExecuting(string sql, SugarParameter[] pars) { } /// /// SQL执行后事件 /// public virtual void OnLogExecuted(string sql, SugarParameter[] pars) { } /// /// 实体服务配置 /// public virtual void EntityService(PropertyInfo propertyInfo, EntityColumnInfo entityColumnInfo) { } }