using Volo.Abp.Uow; using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.SqlSugarCore.Uow { /// /// SqlSugar事务API实现 /// public class SqlSugarTransactionApi : ITransactionApi, ISupportsRollback { private readonly ISqlSugarDbContext _dbContext; public SqlSugarTransactionApi(ISqlSugarDbContext dbContext) { _dbContext = dbContext; } /// /// 获取数据库上下文 /// public ISqlSugarDbContext GetDbContext() { return _dbContext; } /// /// 提交事务 /// public async Task CommitAsync(CancellationToken cancellationToken = default) { await _dbContext.SqlSugarClient.Ado.CommitTranAsync(); } /// /// 回滚事务 /// public async Task RollbackAsync(CancellationToken cancellationToken = default) { await _dbContext.SqlSugarClient.Ado.RollbackTranAsync(); } /// /// 释放资源 /// public void Dispose() { _dbContext.SqlSugarClient.Ado.Dispose(); } } }