コード例 #1
0
 //Begin Transaction 원형
 private static void BeginTransactionCore(ISqlMapper mapper)
 {
     if (mapper.IsSessionStarted)
     {
         ISqlMapSession session = mapper.LocalSession;
         if (!session.IsTransactionStart)
         {
             session.BeginTransaction();
         }
     }
 }
コード例 #2
0
        public ISqlMapSession BeginTransaction()
        {
            if (this._sessionStore.LocalSession != null)
            {
                throw new DataMapperException("SqlMap could not invoke BeginTransaction(). A Transaction is already started. Call CommitTransaction() or RollbackTransaction first.");
            }
            ISqlMapSession session = this.CreateSqlMapSession();

            this._sessionStore.Store(session);
            session.BeginTransaction();
            return(session);
        }
コード例 #3
0
        public ISqlMapSession BeginTransaction(bool openConnection)
        {
            ISqlMapSession localSession = null;

            if (openConnection)
            {
                return(this.BeginTransaction());
            }
            localSession = this._sessionStore.LocalSession;
            if (localSession == null)
            {
                throw new DataMapperException("SqlMap could not invoke BeginTransaction(). A session must be Open. Call OpenConnection() first.");
            }
            localSession.BeginTransaction(openConnection);
            return(localSession);
        }
コード例 #4
0
        public ISqlMapSession BeginTransaction(string connectionString, bool openNewConnection, IsolationLevel isolationLevel)
        {
            ISqlMapSession localSession = null;

            if (openNewConnection)
            {
                return(this.BeginTransaction(connectionString, isolationLevel));
            }
            localSession = this._sessionStore.LocalSession;
            if (localSession == null)
            {
                throw new DataMapperException("SqlMap could not invoke BeginTransaction(). A session must be Open. Call OpenConnection() first.");
            }
            localSession.BeginTransaction(connectionString, openNewConnection, isolationLevel);
            return(localSession);
        }
コード例 #5
0
        public DbTransaction(DbSession session, System.Data.IsolationLevel isolationLevel)
        {
            _dbSession = session;
            _name      = "jingxian.domainModel.DbTransaction" + _dbSession.GetMapper().Id;

            ISqlMapSession mappedSession = _dbSession.GetMapper().LocalSession;

            if (null == mappedSession)
            {
                _mappedSession  = _dbSession.GetMapper().BeginTransaction(isolationLevel);
                _name           = "jingxian.domainModel.DbTransaction" + _dbSession.GetMapper().Id;
                _isOwnerSession = true;
            }
            else if (!mappedSession.IsTransactionStart)
            {
                mappedSession.BeginTransaction(isolationLevel);
                _mappedSession  = mappedSession;
                _isOwnerSession = false;
            }

            _isCommit = false;

            //_dbSession.GetMapper().BeginTransaction(isolationLevel);
        }