public void Commit() { if (DbTransaction == null) { return; } DbTransaction.Commit(); DbTransaction = null; Flags &= ~DbConnectionFlags.CommitOnSave; var now = Session.Context.App.TimeService.ElapsedMilliseconds; //Log Commit trans var time = now - _transactionStart; this.Session.LogMessage("COMMIT TRANS, time: {0} ms", time); }
public void Abort() { try { if (DbConnection != null && DbConnection.State == ConnectionState.Open && DbTransaction != null) { DbTransaction.Rollback(); } this.Session.LogMessage("--ROLLBACK TRANS"); } catch (Exception ex) { this.Session.LogMessage("!!!! ROLLBACK TRANS failed: " + ex.Message); } finally { DbTransaction = null; Flags &= ~DbConnectionFlags.CommitOnSave; } }
public void BeginTransaction(bool commitOnSave, IsolationLevel isolationLevel = IsolationLevel.Unspecified) { if (DbConnection.State != ConnectionState.Open) { Open(); } DbTransaction = isolationLevel == IsolationLevel.Unspecified ? DbConnection.BeginTransaction() : DbConnection.BeginTransaction(isolationLevel); _transactionStart = Session.Context.App.TimeService.ElapsedMilliseconds; //Log begin trans if (commitOnSave) { Flags |= DbConnectionFlags.CommitOnSave; } this.Session.LogMessage("BEGIN TRANS, Isolation level: {0}", isolationLevel); }
public static bool IsSet(this DbConnectionFlags flags, DbConnectionFlags flag) { return((flags & flag) != 0); }