public virtual DbDataReader GetReader(int?commandTimeout) { var batcher = Session.Batcher; SqlType[] sqlTypes = Commands.SelectMany(c => c.ParameterTypes).ToArray(); ForEachSqlCommand((sqlLoaderCommand, offset) => sqlLoaderCommand.ResetParametersIndexesForTheCommand(offset)); var command = batcher.PrepareQueryCommand(CommandType.Text, Sql, sqlTypes); if (commandTimeout.HasValue) { command.CommandTimeout = commandTimeout.Value; } log.Info(command.CommandText); BindParameters(command); return(BatcherDataReaderWrapper.Create(batcher, command)); }
public virtual async Task <DbDataReader> GetReaderAsync(int?commandTimeout, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); var batcher = Session.Batcher; SqlType[] sqlTypes = Commands.SelectMany(c => c.ParameterTypes).ToArray(); ForEachSqlCommand((sqlLoaderCommand, offset) => sqlLoaderCommand.ResetParametersIndexesForTheCommand(offset)); var command = batcher.PrepareQueryCommand(CommandType.Text, sqlString, sqlTypes); if (commandTimeout.HasValue) { command.CommandTimeout = commandTimeout.Value; } log.Info(command.CommandText); BindParameters(command); return(await(BatcherDataReaderWrapper.CreateAsync(batcher, command, cancellationToken)).ConfigureAwait(false)); }