如何解决AzureStorage表查询:构建包含筛选器
我知道Azure存储在其当前API中没有包含类似过滤器的内容。但是,我也知道您可以使用以下代码为字符串构建一个包含类过滤器:
TableQuery<TableEntity> Query = new TableQuery<TableEntity>()
.Where(
TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey",QueryComparisons.GreaterThanorEqual,substring),TableOperators.And,TableQuery.GenerateFilterCondition("PartitionKey",QueryComparisons.Lessthan,substring + someValue)
));
我的问题是,我应该使用什么作为someValue使其等同于包含?
我似乎在网上找不到一个图表,该图表按字母顺序显示C#中所有字符的第一个字符。有没有理由不这样做,并且在客户端进行搜索?我的partitionKey是定义明确的子组。
谢谢!
解决方法
它实际上使用ascii
顺序在过滤器中进行比较。
例如,如果substring
是good
,则在第二个过滤器中:
TableQuery.GenerateFilterCondition("PartitionKey",QueryComparisons.LessThan,"good" + someValue)
,
您应该将其更改为
TableQuery.GenerateFilterCondition("PartitionKey","gooe")
无需添加someValue
。只需将您的子字符串的最后一个字符替换为下一个ascii字符即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。