using System; using System.Collections.Generic; using System.Linq; using System.Text; using Dapper; namespace DapperExtensions { public interface IMultipleResultReader { IEnumerable Read(); } public class GridReaderResultReader : IMultipleResultReader { private readonly SqlMapper.GridReader _reader; public GridReaderResultReader(SqlMapper.GridReader reader) { _reader = reader; } public IEnumerable Read() { return _reader.Read(); } } public class SequenceReaderResultReader : IMultipleResultReader { private readonly Queue _items; public SequenceReaderResultReader(IEnumerable items) { _items = new Queue(items); } public IEnumerable Read() { SqlMapper.GridReader reader = _items.Dequeue(); return reader.Read(); } } }