예제 #1
0
        public DataTransaction BeginTransaction(DataTransactionIsolation isolation = DataTransactionIsolation.ReadCommitted)
        {
            DataTransaction transaction = null;

            // ReSharper disable once AccessToModifiedClosure
            transaction = new DataTransaction(mConnection, () => PopTransaction(transaction), isolation);
            mTransaction.Push(transaction);

            return(transaction);
        }
예제 #2
0
        internal DataTransaction([NotNull] IDbConnection connection, [NotNull] Action disposeAction, DataTransactionIsolation isolation)
        {
            if (connection == null)
            {
                throw new ArgumentNullException(nameof(connection));
            }
            if (disposeAction == null)
            {
                throw new ArgumentNullException(nameof(disposeAction));
            }

            mTransaction   = connection.BeginTransaction((IsolationLevel)(int)isolation);
            mDisposeAction = disposeAction;
        }