Commit b87c6c1d authored by Sam Saffron's avatar Sam Saffron

buffered api as well

parent cae3c608
......@@ -778,15 +778,19 @@ internal GridReader(IDbCommand command, IDataReader reader, IDbConnection connec
/// <summary>
/// Read the next grid of results
/// </summary>
public IEnumerable<T> Read<T>()
public IEnumerable<T> Read<T>(bool buffered = true)
{
if (reader == null) throw new ObjectDisposedException(GetType().Name);
if (consumed) throw new InvalidOperationException("Each grid can only be iterated once");
var identity = new Identity(sql, connection, typeof(T), null);
var deserializer = SqlMapper.GetDeserializer<T>(identity, reader);
consumed = true;
return ReadDeferred(gridIndex, deserializer);
var results = ReadDeferred(gridIndex, deserializer);
return buffered ? results.ToList() : results;
}
// todo multimapping.
private IEnumerable<T> ReadDeferred<T>(int index, Func<IDataReader, T> deserializer)
{
try
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment