【发布时间】:2022-11-09 22:48:34
【问题描述】:
我正在使用 Azure.Data.Tables (12.6.1),我需要从单个表的多个分区中查询单个记录(因此结果将是多个记录,每个分区有 1 个)。每个实体都需要通过其分区键和行键来查找 - 对于单个 TableClient.GetEntity() 调用,这将是一个点查询。
阅读文档后,我很困惑使用多个分区键/行键对调用TableClient.QueryAsync() 是否有效,并且我发现的搜索结果提供了相互矛盾的建议。
这样做是否有效(对于多个分区键/行键组合,最多约 50 个)还是为每个实体一个接一个地调用 GetEntity() 更好?
var filter = "(PartitionKey eq 'p1' And RowKey eq 'r1') Or " +
"(PartitionKey eq 'p2' And RowKey eq 'r2') Or ...";
var results = await tableClient.QueryAsync(filter, 500, null, cancelToken);
【问题讨论】:
-
使用 concat 而不是 OR。
-
@jdweng 你是什么意思?
标签: c# azure azure-table-storage azure-tableclient azure-data-tables