public async Task <bool> MoveNextAsync(CancellationToken cancellationToken) { try { if (_open) { _open = await _reader.ReadAsync(cancellationToken); if (_open) { _item = _pocoMapper.GetItem(); } } else { throw new PocoLoaderClosedException("The data reader is closed."); } return(_open); } catch (Exception ex) { throw new PocoException("The data reader could not be read, see inner exception for details.", ex); } }
public async Task <List <T> > ToListAsync(DbDataReader reader, CancellationToken cancellationToken) { var pocoMapping = new PocoMapper <T>(reader); var data = new List <T>(); while (await reader.ReadAsync(cancellationToken)) { data.Add(pocoMapping.GetItem()); } return(data); }
public async Task <List <T> > ToListAsync(DbDataReader reader, long rows, CancellationToken cancellationToken) { var pocoMapping = new PocoMapper <T>(reader); var data = new List <T>(); var row = 0; while (await reader.ReadAsync(cancellationToken) && (rows > row || rows < 0)) { data.Add(pocoMapping.GetItem()); row++; } return(data); }
private async Task <bool> ReadNextAsync(CancellationToken cancellationToken) { if (_open) { _open = await _reader.ReadAsync(cancellationToken); if (_open) { var item = _pocoMapper.GetItem(); _data.Add(item); _maxRow++; } } return(_open); }