OData V4在$ expand中有多个选项

时间:2015-02-22 19:31:23

标签: odata-v4

在$ expand查询中的OData V4中,您可以将其作为选项嵌套:

1)$扩展

http://services.odata.org/V4/OData/OData.svc/Categories?$expand=Products($expand=ProductDetail)

2)$水平

实体($ expand = ChildItems($ level = x))其中ChildItem是相同类型的实体

3)$选择

http://services.odata.org/V4/OData/OData.svc/Categories?$expand=Products($select=Price)&$select=Name,Products

我想像这样扩展ProductDetail,但当然它不起作用

http://services.odata.org/V4/OData/OData.svc/Categories?$expand=Products($expand=ProductDetail&$select=Price,ProductDetail)&$select=Name,Products

此调用获取

  

查询参数' $ select'是指定的,但应该只指定一次

所以你会认为你只能在主要实体上选择$,但是情况#3完美无缺。

我知道我可以重写我的查询以实现我的目标,但我想知道这是否可行。

谢谢, 的Alessandro

1 个答案:

答案 0 :(得分:8)

关键是分隔符。您必须用“;”分隔每个选项。 我找到了答案here

案例3成为

  ?

http://services.odata.org/V4/OData/OData.svc/Categories $扩大=产品($选择=价格,产品详情; $扩大=产品详情)及$选择=名称,产品