public async Task <IEnumerable <T> > GetResultsAsync <T>(SqlStatementBatch batch, bool stream, int commandTimeout) { var cmdFlags = stream ? Dapper.CommandFlags.Pipelined : Dapper.CommandFlags.Buffered; var cmd = batch.ToDapperCommand(_transaction, commandTimeout, commandFlags: cmdFlags); return(await Dapper.SqlMapper.QueryAsync <T>(_connection, cmd)); }
public async Task <BatchResult <T> > GetTotalCountAndResultsAsync <T>(SqlStatementBatch batch, bool stream, int commandTimeout) { var cmdFlags = stream ? Dapper.CommandFlags.Pipelined : Dapper.CommandFlags.Buffered; var cmd = batch.ToDapperCommand(_transaction, commandTimeout, commandFlags: cmdFlags); var result = new BatchResult <T>(); using (var batchReader = await Dapper.SqlMapper.QueryMultipleAsync(_connection, cmd)) { result.TotalCount = await batchReader.ReadFirstAsync <int>(); result.Items = await batchReader.ReadAsync <T>(); } return(result); }