mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 12:30:32 +00:00
44 lines
No EOL
1 KiB
C#
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>();
|
|
}
|
|
}
|
|
} |