public virtual IDataReader ExecuteReader(string description, bool isApplication, bool applyTransformationsToParameters, bool skipLog) { DateTime startTime = DateTime.Now; IDbTransaction trans = DriverCommand.Transaction; IDbConnection conn = DriverCommand.Connection; IDataReader reader = null; try { if (applyTransformationsToParameters) { TransformParametersSyntax(); } Func <IDataReader> executeReader = () => { return(ExecutionService.ExecuteReader(DriverCommand)); }; reader = new DataReader(ExecutionService, this, DatabaseBehaviours.ExecuteWithoutRequestTimeout(executeReader)); } catch (DbException e) { HandleDatabaseException(e, reader, conn, trans); throw; } if (!skipLog) { LogSlowQuery(startTime, description, isApplication); } return(reader); }
public override IDataReader ExecuteReader(string description, bool isApplication, bool transformParameters, bool skipLog) { DateTime startTime = DateTime.Now; IDbTransaction trans = DriverCommand.Transaction; IDbConnection conn = DriverCommand.Connection; IDataReader reader = null; try { if (transformParameters) { TransformParametersSyntax(); } reader = new DataReader(ExecutionService, this, ExecutionService.ExecuteReader(DriverCommand)); // The transaction manager will release the data reader automatically in the future. Manager.AssociateReader(DriverCommand.Transaction, reader); } catch (DbException e) { HandleDatabaseException(e, reader, conn, trans); throw; } if (!skipLog) { LogSlowQuery(startTime, description, isApplication); } return(reader); }