Пример #1
0
        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));
        }
Пример #2
0
        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));
        }