Beispiel #1
0
 protected override IDbTransaction BeginTransaction()
 {
     //只要找到一个当前数据库的连接管理对象,直到发生 Dispose 前,
     //这个连接都一直不会被关闭,那么代码块中的数据访问方法都是使用同一个打开的连接。
     //这样就不会升级为分布式事务。
     _conMgr = TransactionDependentConnectionManager.GetManager(this.DbSetting);
     return(_conMgr.Connection.BeginTransaction(this.IsolationLevel));
 }
        internal ManagedConnectionDbAccesser(DbSetting dbSetting)
        {
            if (dbSetting == null)
            {
                throw new ArgumentNullException("dbSetting");
            }

            _connectionManager = TransactionDependentConnectionManager.GetManager(dbSetting);

            _dba = new DbAccesser(dbSetting, _connectionManager.Connection);
        }