Azure cosmosdb Cosmos Db未返回所有记录,即使maxItemCount设置为-1
我有一个cosmos数据库,有50000条记录,但下面的代码只返回8356条。我认为将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>();
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;
}