OData V4 $扩展嵌套$ filter和$ orderby - 在扩展中结合$ filter和$ orderby

时间:2016-10-18 00:41:55

标签: asp.net-web-api2 odata odata-v4

我目前有一个OData V4服务,其服务如下 “类别” - “代码”
对于每个类别,可以有许多代码。

我需要$扩展代码,$ filter,其中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处的语法错误”。“

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

2 个答案:

答案 0 :(得分:3)

我无法在OData V4文档中找到这个,但我确实在这里找到了类似的例子" How can I order objects according to some attribute of the child in OData?"

  ?

http://services.odata.org/V4/Northwind/Northwind.svc/Orders $选择=订单ID&安培; $扩大= ORDER_DETAILS($选择=单价; $的OrderBy =数量)

我缺少的钥匙是

  

这是在过滤器和orderby之间进行的 这是工作网址

  

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

答案 1 :(得分:0)

OData V4分组的最后一条记录可为您提供服务

odata/Categories?$expand=Codes($top=1;$orderby=Description)