Update db.ado.UseTranAsync

This commit is contained in:
sunkaixuna
2021-08-30 00:19:58 +08:00
parent 50073b29d5
commit 07a022b883

View File

@@ -214,9 +214,29 @@ namespace SqlSugar
return result;
}
public Task<DbResult<bool>> UseTranAsync(Action action, Action<Exception> errorCallBack = null)
public async Task<DbResult<bool>> UseTranAsync(Func<Task> action, Action<Exception> errorCallBack = null)
{
return Task.FromResult(UseTran(action, errorCallBack));
var result = new DbResult<bool>();
try
{
this.BeginTran();
if (action != null)
await action();
this.CommitTran();
result.Data = result.IsSuccess = true;
}
catch (Exception ex)
{
result.ErrorException = ex;
result.ErrorMessage = ex.Message;
result.IsSuccess = false;
this.RollbackTran();
if (errorCallBack != null)
{
errorCallBack(ex);
}
}
return result;
}
public DbResult<T> UseTran<T>(Func<T> action, Action<Exception> errorCallBack = null)