コード例 #1
0
ファイル: NHibernateUnitOfWork.cs プロジェクト: KevM/Magnum
        private void DisposeTransaction()
        {
            if (_transaction == null) return;

            _transaction.Dispose();
            _transaction = null;
        }
コード例 #2
0
ファイル: NHibernateUnitOfWork.cs プロジェクト: KevM/Magnum
        public ITransaction BeginTransaction(IsolationLevel isolationLevel)
        {
            if (_transaction != null)
                throw new InvalidOperationException("A transaction is already in progress and a new one cannot be started.");

            _transaction = new NHibernateTransaction(_session.BeginTransaction(isolationLevel),
                committed => DisposeTransaction(),
                aborted => DisposeTransaction());

            return _transaction;
        }