gpt4 book ai didi

azure - PartitionKey可以用StartsWith查询吗?

转载 作者:行者123 更新时间:2023-12-01 18:05:45 25 4
gpt4 key购买 nike

在 Azure 表存储中,是否可以使用 StartsWith 或其他运算符(例如包含等等

我知道我可以使用 RowKeys 做到这一点,但是可以使用 PartitionKeys 做到这一点吗?

接下来的问题是:即使可行,是否可取? PartitionKey 是否应该始终完全匹配——例如,出于性能原因?

最佳答案

这是一个使用 GreaterThanOrEqual 的示例和LessThan运算符,作为目标列名称的扩展。

过滤器结合了两部分:

  • 任何大于或等于startsWith前缀的内容,
  • 增加前缀的最后一个字符并查找小于此的任何字符。

例如,startsWith前缀“CAR”将准备类似 s >= "CAR" && s < "CAS" 的内容.

    public static string GetStartsWithFilter(this string columnName, string startsWith)
{
var length = startsWith.Length - 1;
var nextChar = startsWith[length] + 1;

var startWithEnd = startsWith.Substring(0, length) + (char)nextChar;
var filter = TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition(columnName, QueryComparisons.GreaterThanOrEqual, startsWith),
TableOperators.And,
TableQuery.GenerateFilterCondition(columnName, QueryComparisons.LessThan, startWithEnd));

return filter;
}

用法:

var query = new TableQuery<MyTableEntity>().Where(myColumnName.GetStartsWithFilter(prefix));

基于Alexandre B's blog post

关于azure - PartitionKey可以用StartsWith查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35804458/

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