【发布时间】:2015-11-29 07:31:44
【问题描述】:
通常的扩展查询允许将实体扩展到多个级别,如下所示:
...A?$expand=B/C/D, G
但如果 D 也有两个姐妹实体(E 和 F)并且我想在一个查询中将它们全部获取,我该如何获取呢?
所以C需要扩展为(D、E、F)三个实体。
谢谢。
【问题讨论】:
标签: asp.net api asp.net-web-api odata
通常的扩展查询允许将实体扩展到多个级别,如下所示:
...A?$expand=B/C/D, G
但如果 D 也有两个姐妹实体(E 和 F)并且我想在一个查询中将它们全部获取,我该如何获取呢?
所以C需要扩展为(D、E、F)三个实体。
谢谢。
【问题讨论】:
标签: asp.net api asp.net-web-api odata
您可以在 $expand 中嵌入 $expand。例如来自OData Spec:
http://host/service.svc/Orders?$expand=Items($expand=Product),Customer
【讨论】:
在 OData V4 中,您可以在一个查询中这样写:
...A?$expand=B($expand=C($expand=D, E, F)), G
请注意,您必须像这样在 OData 控制器中增加 MaxExpansionDepth:
[EnableQuery(MaxExpansionDepth = 3)]
希望对你有帮助
【讨论】:
您可以使用“*”通配符。
...A?$expand=B/C/*, G
【讨论】: