/// <summary> /// 关闭数据库连接 /// </summary> /// <param name="connection"></param> /// <param name="IsReadConnection">是否读链接 默认不是</param> protected void CloseConnection(IDbConnection connection) { if (!DbTransactionContext.HasTransaction(connection.Database)) { connection.Close(); } }
public void Dispose() { DbTransactionContext.Unbind(); _transaction.Dispose(); _transaction = null; _connection.Dispose(); }
public DbUnitOfWork(IDbConnection connection, IsolationLevel isolationLevel) { _connection = connection ?? throw new ArgumentNullException(nameof(connection)); _connection = connection; _connection.Open(); _transaction = _connection.BeginTransaction(isolationLevel); DbTransactionContext.Bind(_transaction); }
public static DbTransactionContext GetLoggedDbTransaction(DbTransaction transaction, MutableInterceptionContext interceptionContext) { var context = new DbTransactionContext { IsAsync = interceptionContext.IsAsync, IsCanceled = interceptionContext.TaskStatus.HasFlag(TaskStatus.Canceled), Exception = interceptionContext.OriginalException ?? interceptionContext.Exception }; setBaseInfo(interceptionContext, context); context.TransactionId = UniqueIdExtensions <DbTransaction> .GetUniqueId(transaction).ToInt(); return(context); }
public static DbTransactionContext GetLoggedDbTransaction(DbTransaction transaction, int connectionId) { var context = new DbTransactionContext { IsAsync = false, IsCanceled = false, Exception = null, ObjectContextId = SessionIdLoggingContext.SessionId.GetUniqueId(), ObjectContextName = SessionId, ConnectionId = connectionId, TransactionId = UniqueIdExtensions <DbTransaction> .GetUniqueId(transaction).ToInt() }; return(context); }
public MyTransaction OpenTransaction() { MyTransaction transaction = null; if (!DbTransactionContext.HasTransaction(db.Database)) { transaction = new MyTransaction(db.BeginTransaction()); DbTransactionContext.AddTransaction(db.Database, transaction); } else { transaction = DbTransactionContext.GetTransaction(db.Database); } transaction.AddCount(); return(transaction); }
protected TestDb(ContextScope scope, DbTransactionContext dbTran) : base(scope, dbTran) { }