private T InnerGetValue <T>(T value) { IDbTransaction trans = Command.DriverCommand.Transaction; IDbConnection conn = Command.DriverCommand.Connection; try { return((T)ExecutionService.TransformDatabaseToRuntimeValue(value)); } catch (DbException e) { ITransactionManager manager = Command is ManagedCommand ? ((ManagedCommand)Command).Manager : null; ExecutionService.OnExecuteException(e, Command.DriverCommand, DriverReader, conn, trans, manager); throw; } }
protected override void EndTransaction(TransactionInfo transInfo, bool commit, bool toFreeResources) { //Keep the request transaction open if possible if (!toFreeResources && RequestTransactionInfo != null && RequestTransactionInfo.Equals(transInfo)) { IDbCommand cmd = ExecutionService.CreateCommand(transInfo.Transaction, commit ? "COMMIT" : "ROLLBACK"); try { ExecutionService.ExecuteNonQuery(cmd); } catch (DbException e) { ExecutionService.OnExecuteException(e, cmd, null, transInfo.Connection, transInfo.Transaction, this); throw; } } else { base.EndTransaction(transInfo, commit, toFreeResources); } }
protected virtual void HandleDatabaseException(DbException e, IDataReader reader, IDbConnection conn, IDbTransaction trans) { ExecutionService.OnExecuteException(e, DriverCommand, reader, conn, trans, null); }
protected override void HandleDatabaseException(DbException e, IDataReader reader, IDbConnection conn, IDbTransaction trans) { ExecutionService.OnExecuteException(e, DriverCommand, reader, conn, trans, Manager); }