Beispiel #1
0
 private void CleanupActiveConnection()
 {
     try
     {
         _activeDbConnectionWrapper?.Dispose(true);
     }
     finally
     {
         _activeDbConnectionWrapper = null;
     }
 }
Beispiel #2
0
        public async Task <IDbTransactionWrapper> BeginTransactionAsync(CancellationToken cancellationToken)
        {
            if (_activeDbConnectionWrapper != null)
            {
                throw new InvalidOperationException("Transaction already in progress");
            }
            var dbConnection = await GetAnonymousConnectionAsync(cancellationToken);

            var transaction = dbConnection.BeginTransaction();

            _activeDbConnectionWrapper = new DbConnectionWrapper(dbConnection, transaction);
            return(new DbTransactionWrapper(transaction, CleanupActiveConnection));
        }
 internal void Enlist(IDbConnection dbConnection)
 {
     _connection = new DbConnectionWrapper(dbConnection, dbConnection.BeginTransaction(IsolationLevel));
 }