如何使用 Azure.Data.Tables 跳过、获取和订购?
Posted
技术标签:
【中文标题】如何使用 Azure.Data.Tables 跳过、获取和订购?【英文标题】:How to Skip, Take and Orderby using Azure.Data.Tables? 【发布时间】:2022-01-15 07:05:07 【问题描述】:Microsoft 建议使用 azure.data.tables
nuget 和命名空间,而不是旧的 microsoft.azure.cosmos.table
命名空间,但它没有很好的文档记录,我在他们的 Github 页面旁边找不到更多信息。在这里,他们描述了基本查询,但我的问题是;是否可以从服务器而不是客户端获取排序和过滤的实体?
例如,对于其他库,可以使用 TableQuery 并执行 take
、orderby
操作,如 here 所述
我基本上想要实现的目标
var result= query.OrderByDescending(l => l.Timestamp).Skip((pagenumber- 1) * count.Value).Take(count.Value);
是否可以使用 Azure.Data.Tables 命名空间在服务器端实现此查询?
【问题讨论】:
【参考方案1】:您只能从这些运算符中使用“Take”,因为 Azure 表存储不支持其他两个运算符。
有关 Azure 表存储支持的 LINQ 运算符列表,请参阅此链接:https://docs.microsoft.com/en-us/rest/api/storageservices/query-operators-supported-for-the-table-service。
【讨论】:
所以你的意思是我们只能在客户端。但是其他库支持并且rest api也是可能的吗?这意味着从技术上讲它已经实现,但可能不是使用 Azure.data.tables 库 Ops 刚刚看到了仅适用于 CosmosDb 端点的注释 :( 是的,没错。 Azure 存储表不支持它。我不确定 Azure Cosmos DB Table API 是否也支持它(不过我可能错了)。以上是关于如何使用 Azure.Data.Tables 跳过、获取和订购?的主要内容,如果未能解决你的问题,请参考以下文章