using System.Reflection;
using SqlSugar;
namespace Yi.Framework.SqlSugarCore.Abstractions;
///
/// SqlSugar数据库上下文依赖接口
/// 定义数据库操作的各个生命周期钩子
///
public interface ISqlSugarDbContextDependencies
{
///
/// 获取执行顺序
///
int ExecutionOrder { get; }
///
/// SqlSugar客户端配置时触发
///
/// SqlSugar客户端实例
void OnSqlSugarClientConfig(ISqlSugarClient sqlSugarClient);
///
/// 数据执行后触发
///
/// 原始值
/// 实体信息
void DataExecuted(object oldValue, DataAfterModel entityInfo);
///
/// 数据执行前触发
///
/// 原始值
/// 实体信息
void DataExecuting(object oldValue, DataFilterModel entityInfo);
///
/// SQL执行前触发
///
/// SQL语句
/// SQL参数
void OnLogExecuting(string sql, SugarParameter[] parameters);
///
/// SQL执行后触发
///
/// SQL语句
/// SQL参数
void OnLogExecuted(string sql, SugarParameter[] parameters);
///
/// 实体服务配置
///
/// 属性信息
/// 实体列信息
void EntityService(PropertyInfo propertyInfo, EntityColumnInfo entityColumnInfo);
}