joh*_*ner 5 azure azure-table-storage
我想使用PrimaryKey查询我的azure tablestorage,我想检查我的RowKey是否在一个范围内.例如,范围02001至02999
谁能告诉我怎么做到这一点?我理解如何用简单的方式查询PK:
where fooEntiy.PartitionKey == partition
Run Code Online (Sandbox Code Playgroud)
但我不知道如何查询fooEntity.RowKey.
此外,如果我通过指定范围来执行此操作,那么它是否仍将检索该分区的所有条目,然后检查它们是否与范围匹配?
感谢您的意见,
圆子
kni*_*hor 13
您的查询可能如下所示:
where fooEntity.PartitionKey == partionKey
&& fooEntity.RowKey.CompareTo(lowerBoundRowKey) >= 0
&& fooEntity.RowKey.CompareTo(upperBoundRowKey) <= 0
Run Code Online (Sandbox Code Playgroud)
这将返回所有的项目lowerBoundRowKey和upperBoundRowKey包括这些值(如果你不希望它是包容性的,只要使用>和<而非> =和<=).
您不需要进行任何其他过滤.
看起来你已经填充了你在RowKey中存储的带有前导零的数字,这是一件好事,因为这个范围将是一个词法范围,而不是数值范围.
例如,运行此查询lowerBoundKey = 10并且upperBoundKey = 100不会返回RowKey为20的项目.
但是如果用零填充它lowerBoundKey = 00010并upperBoundKey = 00100返回一个RowK为00020的项目.
| 归档时间: |
|
| 查看次数: |
4500 次 |
| 最近记录: |