public override object ExecuteScalar() { try { _txnlock.OpenReader(); _txnlock.BeginCommand(this); return(InnerCommand.ExecuteScalar()); } finally { _txnlock.EndCommand(); _txnlock.CloseReader(); } }
protected void BeginCommand() { if (_transaction != null) { _transaction.BeginCommand(_command); } else if (_txnlock != null) { _txnlock.BeginCommand(_command); } }
public override object ExecuteScalar() { if (this._transaction != null) { this._transaction.BeginCommand(this); // The transaction should already have the transaction lock object result = InnerCommand.ExecuteScalar(); this._transaction.EndCommand(); return result; } else { // Take the transaction lock for the duration of this command using (var txnlock = new SQLiteTxnLockED()) { txnlock.Open(); txnlock.BeginCommand(this); object result = InnerCommand.ExecuteScalar(); txnlock.EndCommand(); return result; } } }
public void BeginCommand(DbCommand cmd) { _transactionLock.BeginCommand(cmd); }