我正在使用jQuery从SharePoint 2010的listData.svc获取信息。我发现在查询中与案例敏感性存在一些不一致的地方:
以下命令区分大小写:
...& $ filter = substringof('String',property)eq True
以下命令不区分大小写
...& $ filter = substringof(tolower('String'),tolower(property))eq True
以下命令也不区分大小写,但更短:
...& $ filter = substringof('String',property)或substringof('String',property2)
但是,当一个部件使用超过两个级别的属性时,使用short方法的不区分大小写会丢失整个过滤器。因此,在以下命令中,整个过滤器再次变为区分大小写:
...& $ filter = substringof('String',property / property / property)或substringof('String',property2)
这是SharePoint服务的问题吗?或者我只是做错了什么?
答案 0 :(得分:0)
这似乎是ListData.svc中的一个错误。
如果比较(在一天结束时委托给SQL服务器)在任何查询中都区分大小写,则它们应始终区分大小写。
显然,tolower调用使事情匹配是否匹配,所以我们可以忽略它。 但是我不知道为什么在另一个属性上进行OR工作。
要么它是SharePoint中的错误,要么您无意中选择了一个OR子句来返回您意外的数据。