繁体   English   中英

OData v2按$扩展实体的属性过滤

[英]OData v2 filter by property of $expanded entity

我使用$expand来增强OData SharePoint REST查询,我想对扩展实体的其中一个属性进行$filter 但是,我找不到任何关于正确语法的文档。 我发现了一些可能建议使用Entity / property的地方,但在尝试之后,我失败了:

查询:

_vti_bin/listdata.svc/Posts?$expand=Category&$filter=substring(\"Featured Article\",Category/Title) eq false and year(Published) lt " +year+1+ " and month(Published) lt " +month+1+ " or day(Published) lt " +day+1+ " and ApprovalStatus eq '0'&$select=Title,Published,Category,ApprovalStatus&$orderby=Published desc"

哪个回报:

syntax error '\"' at position 10.

当Category为高级别时,我将如何根据类别实体的标题进行过滤,并且它的Title属性是子级别?

导航实体上的过滤器与扩展无关。

看起来问题是斜线转义双引号,而你使用的是substring而不是substringof

如果你改用单引号,它会起作用吗? 或者你想要真正匹配双引号字符? (如果是这种情况,我认为你可以将双引号保留在单引号内)

_vti_bin/listdata.svc/Posts?$expand=Category&$filter=substringof('Featured Article',Category/Title) eq false

要么

_vti_bin/listdata.svc/Posts?$expand=Category&$filter=substringof('"Featured Article"',Category/Title) eq false

作为公共服务的示例,请查看此查询:

http://services.odata.org/Northwind/Northwind.svc/Products?$filter=substringof('Bev', Category/CategoryName) eq true

至于OData查询语法的文档,我建议看一下这个页面: http//www.odata.org/documentation/odata-v3-documentation/url-conventions

在过滤器部分中,您可以使用相当多的示例作为指导。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM