Beispiel #1
0
 public T ExecuteInTransaction <T>(Func <DbOperationContext, T> operation)
 {
     lock (_transcationLock)
     {
         using (var transactionScope = new TransactionScope())
         {
             using (var entities = new PizzaNetDatabaseEntities())
             {
                 using (var dbOperationContext = new DbOperationContext(entities))
                 {
                     T result = operation(dbOperationContext);
                     if (!dbOperationContext.RequestRollback)
                     {
                         entities.SaveChanges();
                         transactionScope.Complete();
                     }
                     return(result);
                 }
             }
         }
     }
 }
Beispiel #2
0
 public DbOperationContext(PizzaNetDatabaseEntities entities)
 {
     Entities = entities;
 }
Beispiel #3
0
 public DbOperationContext(PizzaNetDatabaseEntities entities)
 {
     Entities = entities;
 }