Azure cosmosdb Cosmos Db未返回所有记录,即使maxItemCount设置为-1

Azure cosmosdb Cosmos Db未返回所有记录,即使maxItemCount设置为-1,azure-cosmosdb,Azure Cosmosdb,我有一个cosmos数据库,有50000条记录,但下面的代码只返回8356条。我认为将MaxItemCount设置为-1将返回所有这些值。我怎样才能做到这一点 public async Task<IEnumerable<T>> ReadAsync(Expression<Func<T, bool>> predicate) { var entityList = new List<T>();

我有一个cosmos数据库,有50000条记录,但下面的代码只返回8356条。我认为将MaxItemCount设置为-1将返回所有这些值。我怎样才能做到这一点

public async Task<IEnumerable<T>> ReadAsync(Expression<Func<T, bool>> predicate)
        {
            var entityList = new List<T>();

            var query = _container.GetItemLinqQueryable<T>(requestOptions: new QueryRequestOptions { MaxItemCount = -1 })
               .Where(predicate).OrderByDescending(x => x.TimeStamp).AsQueryable();

            using (var iterator = query.ToFeedIterator())
            {
                entityList.AddRange(
                    await iterator.ReadNextAsync());
            }

            return entityList;
        }
公共异步任务ReadAsync(表达式谓词)
{
var entityList=新列表();
var query=_container.GetItemLinqQueryable(requestOptions:new QueryRequestOptions{MaxItemCount=-1})
.Where(谓词).OrderByDescending(x=>x.TimeStamp).AsQueryable();
使用(var iterator=query.ToFeedIterator())
{
entityList.AddRange(
等待迭代器ReadNextAsync());
}
返回实体列表;
}

您没有排空所有查询结果(缺少对HasMoreResults的检查):

公共异步任务ReadAsync(表达式谓词)
{
var entityList=新列表();
var query=_container.GetItemLinqQueryable(requestOptions:new QueryRequestOptions{MaxItemCount=-1})
.Where(谓词).OrderByDescending(x=>x.TimeStamp).AsQueryable();
使用(var iterator=query.ToFeedIterator())
{
while(iterator.HasMoreResults)
{
entityList.AddRange(
等待迭代器ReadNextAsync());
}
}
返回实体列表;
}

参考(Intellisense文档):

您没有排出所有查询结果(缺少对HasMoreResults的检查):

公共异步任务ReadAsync(表达式谓词)
{
var entityList=新列表();
var query=_container.GetItemLinqQueryable(requestOptions:new QueryRequestOptions{MaxItemCount=-1})
.Where(谓词).OrderByDescending(x=>x.TimeStamp).AsQueryable();
使用(var iterator=query.ToFeedIterator())
{
while(iterator.HasMoreResults)
{
entityList.AddRange(
等待迭代器ReadNextAsync());
}
}
返回实体列表;
}
参考(Intellisense文档):

public async Task<IEnumerable<T>> ReadAsync(Expression<Func<T, bool>> predicate)
{
    var entityList = new List<T>();

    var query = _container.GetItemLinqQueryable<T>(requestOptions: new QueryRequestOptions { MaxItemCount = -1 })
       .Where(predicate).OrderByDescending(x => x.TimeStamp).AsQueryable();

    using (var iterator = query.ToFeedIterator())
    {
        while (iterator.HasMoreResults)
        {
            entityList.AddRange(
                await iterator.ReadNextAsync());
        }
    }

    return entityList;
}