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); } } } } }
public DbOperationContext(PizzaNetDatabaseEntities entities) { Entities = entities; }
public DbOperationContext(PizzaNetDatabaseEntities entities) { Entities = entities; }