c# - Azure存储表查询: Building a Contains Filter

标签 c# azure azure-storage azure-table-storage string-comparison

我知道 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 来使其等同于 contains?

我似乎无法在网上找到一个图表来指示 C# 的所有字符的第一个字符是什么字符。有什么理由不这样做,并在客户端进行搜索?我的partitionKey是定义明确的子组。

提前致谢!

最佳答案

它实际上使用 ascii 顺序在过滤器中进行比较。

例如,如果子字符串good,则在第二个过滤器中:

TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.LessThan, "good"+ someValue),

你应该将其更改为

TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.LessThan, "gooe")

无需添加someValue。只需将子字符串的最后一个字符替换为下一个 ascii 字符即可。

关于c# - Azure存储表查询: Building a Contains Filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64283565/

相关文章:

powershell - 获取订阅的存储帐户名称,然后根据结果创建名称

c# - Winphone转WCF加密

c# - 为什么 WIA 看不到我的扫描仪?

azure - 将自定义域(和通配符子域)映射到 Azure 网站

c# - 显示来自 azure blob 容器的图像

c# - 将用户定义的 CLR 对象序列化到 Azure 存储表

c# - 如何通过单击鼠标更改 wpf 中的窗口位置

c# - 我可以直接下载csv文件而不使用csvhelper定义文件路径吗?

python - 如何在 Azure 应用服务上运行 django manage.py 命令

Python Azure Blob 存储上传文件大于 64 MB