gpt4 book ai didi

linq - 将 LINQ "Count"查询作为 IDocumentQuery 处理

转载 作者:行者123 更新时间:2023-12-01 00:16:28 24 4
gpt4 key购买 nike

围绕 CosmosDB .NET SDK,我发现了一个有趣的问题。
我想对以下查询使用 SDK LINQ 支持:

SELECT VALUE COUNT(1) FROM c WHERE <predicate>

好吧,在编写 LINQ 查询之后,我立即意识到可能无法处理诸如文档查询之类的查询。但是,由于文档查询允许您捕获查询指标并在结果页面之间解除阻塞线程,因此我非常喜欢它。这是代码:
client.CreateDocumentQuery<TEntity>.Where(<predicate>).Count()

即使我知道 Count() 的结果类型不是 IQueryable,有没有办法将“计数”查询作为文档查询处理?

最佳答案

当然,有一种方法可以做到这一点。

有一个CountAsync内置于 SDK 中的扩展。

只需构建您的 IQueryable并使用 .CountAsync()当您准备好计数时。

但是请记住,由于结果是在 SDK 中聚合的,因此不会有任何指标收集。

如果你真的需要指标,那么你可以使用通常的 DocumentQuery从 SQL 创建而不是 LINQ 和 while.HasMoreResults , ExecuteNextAsync逻辑并从每次迭代的分页结果中捕获指标。

关于linq - 将 LINQ "Count"查询作为 IDocumentQuery 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52222816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com