Cosmos/Resources/Dependencies/DapperExtensions.StrongName/GetMultipleResult.cs

44 lines
No EOL
1 KiB
C#

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