在odata v4.0中是否有将$ expand和$ select组合在一起的选项?
我有一个场景,我正在尝试获取特定列 productItemChoices和item。以下查询将为您提供所有 productItemChoices中的列。我只需要一列 productItemChoices
odata/Products(08f80b45-68a9-4a9f-a516-556e69e6bd58)?$expand=productItemChoices($expand=item($select=name))
答案 0 :(得分:31)
经过这么多时间后,我终于得到了答案。我们可以使用select
作为分隔符在expand
内嵌套;
,例如
odata/Products(8)?$expand=choices($select=col1,col2;$expand=item($select=name))
OData v4 $expand
documentation中记录了这一点。该文档还列出了其他有用的示例,例如
Categories?$expand=Products($filter=DiscontinuedDate eq null)
Categories?$expand=Products/$count($search=blue)
答案 1 :(得分:1)
在select中,您可以使用entity / attribute选择扩展实体的特定属性:
$select=productItemChoices/columnyouwant
我不确定查询中实体的关系。在深入扩展时,我使用了以下语法(没有括号) - 在下面,我假设Products与productItemChoices有关,productItemChoices有项
$expand=productItemChoices, productItemChoices/item
然后,选择
$select=productItemChoices/productItemChoicesGuid, productItemChoices/item/name
显然,如果关系不同,你需要改变一些