6

我目前有一个具有以下模型的 OData V4 服务。
“类别”——“代码”
对于每个类别,可以有许多代码。

我需要 $expand the Codes, $filter where Active = true 然后 $orderby Codes.Description。

目前,以下工作正常,无需订购。

odata/Categories?$expand=Codes($filter=Active eq true)

这不起作用。

odata/Categories?$expand=Codes($filter=Active eq true&$orderby=Description)

我收到“在 URI 中指定的查询无效。位置 12 的语法错误。” &“‘描述)’中位置 12 的语法错误。”

基本上它正在读取“描述”之后的最后一个“)”作为错误。

4

2 回答 2

7

我无法在 OData V4 文档中找到它,但我确实在这里找到了一个类似的示例“如何根据 OData 中子项的某些属性对对象进行排序?

http://services.odata.org/V4/Northwind/Northwind.svc/Orders ?$select=OrderID&$expand=Order_Details($select=UnitPrice;$orderby=Quantity)

我缺少的关键是

;

这介于 filter 和 orderby 之间。
这是工作网址

odata/Categories?$expand=Codes($filter=Active eq true;$orderby=Description)

于 2016-10-18T16:51:09.027 回答
0

OData V4 分组最后记录为您服务

odata/Categories?$expand=Codes($top=1;$orderby=Description)
于 2020-08-13T18:01:15.333 回答