示例#1
0
        public void Rollback(InMemoryTransactionScope transactionScope)
        {
            Remove(transactionScope);

            _isRolledBack = true;

            RollbackTransaction();
        }
示例#2
0
        public InMemoryTransactionScope BeginTransaction()
        {
            var inMemoryTransactionScope = new InMemoryTransactionScope(this);

            if (!HasActiveTransaction)
            {
                TakeTransactionSnapshot();
            }

            _activeTransactions.Add(inMemoryTransactionScope);

            return(inMemoryTransactionScope);
        }
示例#3
0
        private void Remove(InMemoryTransactionScope transactionScope)
        {
            _activeTransactions.Remove(transactionScope);

            if (_activeTransactions.IsEmpty())
            {
                if (_isRolledBack)
                {
                    RollbackTransaction();
                }

                _isRolledBack = false;
            }
        }
示例#4
0
 public void Commit(InMemoryTransactionScope transactionScope)
 {
     Remove(transactionScope);
     CommitTransaction();
 }