private void ReturnCurrent() { if (_current != null && !_hasSentCurrent) { _dataReader.AddResult(_current); _hasSentCurrent = true; if (!_hasFirstResultSet) { _readerSource.SetResult(_dataReader); // Return the AseDataReader once we have a single table of results. _hasFirstResultSet = true; } } }