【发布时间】:2021-04-16 18:10:22
【问题描述】:
.Net Cosmos SDK 在未指定分区的查询中返回空结果。 提供分区键时工作正常。
我错过了什么吗?
迭代代码:
var iterator = this.cosmosLinqQuery.GetFeedIterator(querable);
var results = new List<Entity>();
while (iterator.HasMoreResults)
{
var result = await iterator.ReadNextAsync();
results.AddRange(result.Resource);
}
return results;
用于创建可查询的代码:
var options = new QueryRequestOptions()
{
PartitionKey = PartitionKey.None,
MaxItemCount = null,
MaxConcurrency = -1,
MaxBufferedItemCount = -1,
EnableScanInQuery = true,
};
IQueryable<Entity> queryable = container.GetItemLinqQueryable<Entity>(
requestOptions: options,
continuationToken: continuationToken,
allowSynchronousQueryExecution: true);
【问题讨论】:
-
您使用的是什么版本的 SDK?旧版本默认禁用跨分区查询。
-
排空所有页面后结果是否为空?还是您看到有些页面是空的?
标签: .net azure-cosmosdb