执行Azure表存储不区分大小写的查询

 kikokikolove 发布于 2023-02-09 08:50

这可能与此问题有些相关如何在Azure中执行区分大小写的LINQ查询?.但是,我正在使用Storage Client 3.0,而不是linq查询和该问题中的TableStorageContext.

我有一个名为Account的表存储实体,它具有电子邮件地址的字符串属性.email属性不是分区键或行键.

我想以不区分大小写的方式搜索具有匹配电子邮件地址的实体,以便搜索"bob@test.com"返回"Bob@Test.com"等.

我的代码看起来像这样:

TableQuery rangeQuery = new TableQuery().Where(
    TableQuery.CombineFilters(
        TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "account"),
        TableOperators.And,
        TableQuery.GenerateFilterCondition("Email", QueryComparisons.Equal, email)));

var results = accountsTable.ExecuteQuery(rangeQuery).ToList();

有没有办法使用tableQuery类执行不区分大小写的查询,还是有另一种方法?我应该专注于数据整理并确保所有数据都被强制为一致的情况吗?

1 个回答
  • 要回答有关执行不区分大小写搜索的问题,使用Windows Azure表存储无法执行此操作.

    一种方法是您建议的方式,即进行数据整理并以小写或大写形式存储所有内容.

    其他方法是在客户端下载数据,然后对客户端上获取的数据进行区分大小写搜索.第二种方法对于较小的数据集可能是可行的,但如果数据集要大得多则不可行.

    2023-02-09 08:55 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有