gpt4 book ai didi

azure-storage - 如何使用 TableClient.QueryAsync 指定 Take 值

转载 作者:行者123 更新时间:2023-12-05 04:22:05 24 4
gpt4 key购买 nike

我正在更新我的项目以使用 Azure.Data.Tables 12.6.1,但我不知道在哪里指定 Take 值来限制从查询返回的实体数。

换句话说,我想做这样的事情:

var limit = 150;
var results = table.QueryAsync<T>(limit);
await foreach (var page in results.AsPages().ConfigureAwait(false)) {
// Regardless of how the server pages the results,
// only the top [limit] items are returned.
}

在旧的 API 中,您可以在查询对象上设置一个 Take 属性。我如何在新 API 中执行此操作?

最佳答案

正如@Skin 指出的那样,当前的 SDK 没有为 Take 公开一个明确的 API,但这是一个有意的决定,以确保开发人员更清楚从服务的角度来看到底发生了什么.

旧的 SDK 支持完整的 IQueryable API,这使得创建非常昂贵的查询变得容易,这些查询在从服务中获取整个表后执行过滤客户端。

尽管 Take 没有与其他 Linq 方法相同的问题,但该服务并不真正支持它。它只能限制分页结果的结果数(服务上限为 1000)。

虽然我同意它不像 Take API 那样简单,但当前的 API 使得实现等效功能变得相当简单,同时没有隐藏您实际上可能从服务中获取超过 Take 限制的事实。

This sample演示了如何使用每个页面设置的最大项目数遍历页面。

关于azure-storage - 如何使用 TableClient.QueryAsync 指定 Take 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74083408/

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