【问题标题】:OData and case sensitivityOData 和区分大小写
【发布时间】:2020-07-15 16:23:40
【问题描述】:

我一直在搞乱 OData 并意识到 URI 区分大小写。 .../Northwind.svc/Products != .../Northwind.svc/products 这是故意的吗?有没有办法让它不区分大小写?

【问题讨论】:

    标签: asp.net .net odata


    【解决方案1】:

    推荐的解决方案是使用支持的 OData 函数 touppertolower 来解决区分大小写的问题(使用 filter$ 命令时)并获取完整的结果集。

    我写了一篇简短的帖子,更详细地解释了这一点:
    Dealing With Case Sensitivity in OData

    【讨论】:

    • 我喜欢您的文章,但 touppertolower 仅在您位于 $filter 表达式中时可用。在此处的原始问题中,发布者试图对 URI 路径部分中的实体集不区分大小写。
    • @JenS - 你是对的。我读得太快了,专注于我今天遇到的问题的标题。如果不正常我当然可以删除。
    • 不,我认为您的帖子增加了价值(特别是考虑到问题的当前标题以及其他人可能正在搜索的内容)。只是想让人们意识到它不会解决实体集区分大小写的问题。
    【解决方案2】:

    这是一个例子:

    /people?$filter=tolower(Name) eq tolower('jAmes') - 
    

    这将返回所有名称为“James”的人(不区分大小写,可以是“JAMES”、“james”、“JamES”等。
    希望这会有所帮助

    【讨论】:

    • 很久以后 nitpick:那行不通,因为无论您选择哪种情况,“john”都与“james”相去甚远。我的兄弟“詹姆斯”和我绝对不是同等的:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 2013-03-06
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多