Esempio n. 1
0
 public virtual void ExecuteTransaction(Action work)
 {
     using (IDataTransaction tx = BeginTransaction()) {
         try {
             work.Invoke();
             tx.Commit();
         }
         catch (Exception) {
             tx.Rollback();
             throw;
         }
     }
 }
Esempio n. 2
0
 public virtual TEntity ExecuteTransaction <TEntity>(TEntity entity, Action <TEntity> work)
     where TEntity : IEntity <TEntity>, IEquatable <TEntity>
 {
     using (IDataTransaction tx = BeginTransaction()) {
         try {
             work.Invoke(entity);
             tx.Commit();
             return(entity);
         }
         catch (Exception) {
             tx.Rollback();
             throw;
         }
     }
 }