public DbResult <T> UseTran <T>(Func <T> action) { var result = new DbResult <T>(); try { this.BeginTran(); if (action != null) { result.Data = action(); } this.CommitTran(); result.IsSuccess = true; } catch (Exception ex) { result.ErrorException = ex; result.ErrorMessage = ex.Message; result.IsSuccess = false; this.RollbackTran(); } return(result); }
public abstract void BeginTran(IsolationLevel iso, string transactionName); //Only SqlServer #endregion #region Use public DbResult <bool> UseTran(Action action) { var result = new DbResult <bool>(); try { this.BeginTran(); if (action != null) { action(); } this.CommitTran(); result.Data = result.IsSuccess = true; } catch (Exception ex) { result.Exception = ex; result.Messaage = ex.Message; result.IsSuccess = false; this.RollbackTran(); } return(result); }