namespace Admin.NET.Core; /// /// SqlSugar工作单元模式 /// [SuppressSniffer] public sealed class SqlSugarUnitOfWork : IUnitOfWork { /// /// SqlSugar 对象 /// private readonly SqlSugarClient _sqlSugarClient; /// /// 构造函数 /// /// public SqlSugarUnitOfWork(ISqlSugarClient sqlSugarClient) { _sqlSugarClient = (SqlSugarClient)sqlSugarClient; } /// /// 工作单元未标记处理 /// /// /// /// public void OnUnmark(ActionExecutedContext resultContext, bool isManual) { } /// /// 开启工作单元处理 /// /// /// /// /// public void BeginTransaction(ActionExecutingContext context, UnitOfWorkAttribute unitOfwork, bool isManual) { _sqlSugarClient.BeginTran(); } /// /// 提交工作单元处理 /// /// /// /// /// public void CommitTransaction(ActionExecutedContext resultContext, UnitOfWorkAttribute unitOfwork, bool isManual) { _sqlSugarClient.CommitTran(); } /// /// 回滚工作单元处理 /// /// /// /// /// public void RollbackTransaction(ActionExecutedContext resultContext, UnitOfWorkAttribute unitOfwork, bool isManual) { _sqlSugarClient.RollbackTran(); } /// /// 执行完毕(无论成功失败) /// /// /// /// public void OnCompleted(ActionExecutingContext context, ActionExecutedContext resultContext) { _sqlSugarClient.Dispose(); } }