我想搜索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",
答案 0 :(得分:2)
我通过查看Azure DocumentDb文档here解决了这个问题。 使用以下代码进行比较:
e => e.Id.ToLower() == key.ToLower()
答案 1 :(得分:0)
如果Id和key的类型为字符串,则可以按如下方式更改lambda表达式:
(e => String.Compare(e.Id, key, true) == 0)
如果为true,则将比较设置为忽略所有字符大小写。
答案 2 :(得分:-1)
根据你的评论,如果你只想在忽略大小写的情况下进行比较,你可以简单地做:
(e => string.Compare(e.Id, key, StringComparison.OrdinalIgnoreCase) == 0)
查看示例代码here