public void Rollback() { if (Transaction != null) { Transaction.Rollback(); Transaction.Dispose(); State = DbContextState.Rollback; } }
public void Commit() { if (Transaction != null) { Transaction.Commit(); Transaction.Dispose(); State = DbContextState.Commit; } }
public void Rollback() { try { UnitOfWork.Rollback(); State = DbContextState.RolledBack; } finally { Reset(); } }
public void Open(bool beginTransaction, IsolationLevel?level = null) { if (!beginTransaction) { Connection.Open(); } else { Connection.Open(); Transaction = level == null?Connection.BeginTransaction() : Connection.BeginTransaction(level.Value); } State = DbContextState.Open; }
public async Task OpenAsync(bool beginTransaction, IsolationLevel?level = null) { State = DbContextState.Open; if (!(Connection is DbConnection)) { throw new InvalidOperationException("Async operations require use of a DbConnection or an already-open IDbConnection"); } if (!beginTransaction) { await(Connection as DbConnection).OpenAsync(); } else { await(Connection as DbConnection).OpenAsync(); Transaction = level == null?Connection.BeginTransaction() : Connection.BeginTransaction(level.Value); } }
public void Commit() { try { UnitOfWork.Commit(); State = DbContextState.Comitted; } catch { Rollback(); throw; } finally { Reset(); } }
public DbContext(IDbConnection connection, DatasourceType sourceType) { Connection = connection; SourceType = sourceType; State = DbContextState.Closed; }
public void Close() { Connection?.Close(); State = DbContextState.Closed; }
private IDbConnection OpenConnection() { State = DbContextState.Open; return(_connectionFactory.CreateOpenConnection()); }