//Begin Transaction 원형 private static void BeginTransactionCore(ISqlMapper mapper) { if (mapper.IsSessionStarted) { ISqlMapSession session = mapper.LocalSession; if (!session.IsTransactionStart) { session.BeginTransaction(); } } }
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); }
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); }
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); }
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); }