$在Odata服务中扩展查询

时间:2015-09-03 12:45:17

标签: asp.net api asp.net-web-api odata

通常的扩展查询允许将实体扩展到多个级别,如下所示:

...A?$expand=B/C/D, G 

但是如果D还有两个姐妹实体(E和F)并且我想在一个查询中得到它们我该如何得到它?
enter image description here 所以C需要扩展到(D,E和F)三个实体。

谢谢。

3 个答案:

答案 0 :(得分:0)

您可以在$ expand中嵌入$ expand。例如,来自OData Spec

http://host/service.svc/Orders?$扩大=项($扩大=产品),客户

答案 1 :(得分:0)

在OData V4中,您可以在一个查询中写出:

...A?$expand=B($expand=C($expand=D, E, F)), G

请注意,您必须在OData控制器中增加MaxExpansionDepth,如下所示:

[EnableQuery(MaxExpansionDepth = 3)]

希望这会有所帮助

答案 2 :(得分:0)

您可以使用'*'wiledcard。

...A?$expand=B/C/*, G