如何在 Azure DocumentDb 中搜索小写字母?

How can i search lowercase in Azure DocumentDb?

我想搜索 documentdb 的 ID 以及包含、开头和结尾,但是当我尝试创建小写搜索时。

await this.noSqlDataContext.GetDocumentsAsync<Index>(e => e.Id.ToLowerInvariant().Equals(key.ToLowerInvariant()));

我收到这个错误:

"exceptionMessage": "Method 'ToLowerInvariant' is not supported.\r\nActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx",

如果 Id 和 key 是字符串类型,您可以按如下方式更改您的 lambda 表达式:

(e => String.Compare(e.Id, key, true) == 0)

其中 true 设置比较忽略所有字符大小写。

根据您的评论,如果您只是想在忽略大小写的情况下进行比较,您可以简单地这样做:

(e => string.Compare(e.Id, key, StringComparison.OrdinalIgnoreCase) == 0)

查看示例代码here

我通过查看 Azure DocumentDb 文档解决了这个问题 here。 使用以下代码进行比较:

e => e.Id.ToLower() == key.ToLower()