我正在尝试使用此URL在OData中进行一些自定义排序
localhost:82/odata.svc/ComponentPresentations?$filter=TemplateId eq 2894 and publicationId eq 10&$expand=Component/Keywords?$orderby=Title desc
Component
属性为ComponentPresentation
且Keywords
属性为Component
,我想根据关键字的Title
属性对ComponentPresentation进行排序。但是关键字和标题是组件表示的属性
有没有办法根据Keword标题的属性对结果进行排序?组件的子元素是ComponentPresentation的子元素?
答案 0 :(得分:10)
只想提一下,自OData V4以来就有可能。您可以根据需要嵌套任意数量的扩展/选择/顺序/过滤器。现在它就像
一样简单答案 1 :(得分:8)
可以通过嵌套的单基数属性对结果进行排序,例如:http://services.odata.org/V3/Northwind/Northwind.svc/Orders?$top=50&$expand=Customer&$orderby=Customer/City
AFAIK,使用基数很多的导航属性不可能做到这一点(尽管在扩展方案中用于订购扩展Feed中的内容会很有用。)
答案 2 :(得分:0)
通过在查询结束时使用expandobject / field来执行订单
localhost:82 / odata.svc / ComponentPresentations?$ filter = TemplateId eq 2894和publicationId eq 10&$ expand = Component / Keywords?$ orderby = Component / Title desc