public override async Task <bool> MoveNextAsync() { if (_isFirstMoveNext) { _isFirstMoveNext = false; _isMoveNext = await _dbEnumerator.MoveNextAsync().ConfigureAwait(false); } if (!_isMoveNext) { return(false); } var entity = (T) await CreateEntity(_dbEnumerator, _dbEnumerator.Current, _dbEnumerator.Current, typeof(T)).ConfigureAwait(false); Object buffer = _dbEnumerator.ClearBuffer(); _isMoveNext = await _dbEnumerator.MoveNextAsync().ConfigureAwait(false); if (!_isMoveNext && _queryContext != null && _queryContext.SkipTokenNameValues != null && _queryContext.SkipTokenAccessors != null) { SetOrderByProperties(_queryContext, entity, buffer); } _current = entity; return(true); }
public async ValueTask <bool> MoveNextAsync() { if (_isFirstMoveNext) { _isFirstMoveNext = false; _isMoveNext = await _dbEnumerator.MoveNextAsync().ConfigureAwait(false); } if (!_isMoveNext) { return(false); } T? entity = default; bool isEntityNull = true; if (_dbEnumerator.Current != null) { isEntityNull = false; entity = (T) await CreateEntity(_dbEnumerator, _dbEnumerator.Current, _dbEnumerator.Current, typeof(T), _cancellationToken).ConfigureAwait(false); } Object?rawValue = _dbEnumerator.RawValue; _dbEnumerator.ClearBuffer(); _isMoveNext = await _dbEnumerator.MoveNextAsync().ConfigureAwait(false); if (!isEntityNull && !_isMoveNext && _queryContext != null && _queryContext.EntryFactory != null && _queryContext.EntryFactory.SkipTokenAccessors.Length > 0) { SetOrderByProperties(_queryContext.EntryFactory, _queryContext.ODataUri.OrderBy, entity !, rawValue); } _current = entity; return(true); }