CosmosDb Linq Count v3 SDK
CosmosDb Linq Count v3 SDK
有谁知道如何(在 Azure CosmosDB 的新 v3 SDK 中)从 LINQ IQueryable 异步获取计数?
var con = col.Container();
IQueryable<T> q = con.GetItemLinqQueryable<T>(false);
q = q.Where(d => d._type == type);
int count = await q.CountAsync()///this is an SDK internal method and does not work
你可以试试下面的代码(根据自己的实际情况做一些修改):
var con = col.Container();
IQueryable<T> q = con.GetItemLinqQueryable<T>(false);
var iterator = q.Where(d => d._type == type).ToFeedIterator();
int totalCount = 0;
while (iterator.HasMoreResults)
{
var result = await iterator.ReadNextAsync();
totalCount += result.Count();
}
3.2 版本的 SDK 添加了异步聚合功能。
有谁知道如何(在 Azure CosmosDB 的新 v3 SDK 中)从 LINQ IQueryable 异步获取计数?
var con = col.Container();
IQueryable<T> q = con.GetItemLinqQueryable<T>(false);
q = q.Where(d => d._type == type);
int count = await q.CountAsync()///this is an SDK internal method and does not work
你可以试试下面的代码(根据自己的实际情况做一些修改):
var con = col.Container();
IQueryable<T> q = con.GetItemLinqQueryable<T>(false);
var iterator = q.Where(d => d._type == type).ToFeedIterator();
int totalCount = 0;
while (iterator.HasMoreResults)
{
var result = await iterator.ReadNextAsync();
totalCount += result.Count();
}
3.2 版本的 SDK 添加了异步聚合功能。