Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }