protected override async Task <object[]> ReadRecord(CancellationToken cancellationToken) { try { if (!_tableResult.Any()) { return(null); } if (_currentReadRow >= _tableResult.Count()) { if (_token == null) { return(null); } _tableResult = await _tableReference.ExecuteQuerySegmentedAsync(_tableQuery, _token); if (!_tableResult.Any()) { return(null); } _token = _tableResult.ContinuationToken; _currentReadRow = 0; } var currentEntity = _tableResult.ElementAt(_currentReadRow); var row = GetRow(currentEntity); _currentReadRow++; return(row); } catch (Exception ex) { throw new ConnectionException("The azure storage table reader failed due to the following error: " + ex.Message, ex); } }