使用$ expand进行OData查询,但是空根$ select

时间:2017-07-17 10:39:14

标签: odata

我在根元素上有一个包含多个NavigationProperties的OData服务。我想执行一个查询,我不会从根返回任何结果,例如($top和为了简洁而删除了元数据)

http://services.odata.org/V4/TripPinServiceRW/People $扩大=好友($选择=姓)及$选择=

可以返回

{
    "value": [{
        "Friends": [{
                "FirstName": "Scott"
        }]
    }]
}

目前,我必须在根级$select中指定至少一个列,否则所有将检索根级别的列

(即 ?http://services.odata.org/V4/TripPinServiceRW/People $扩大=好友($选择=姓)及$选择=姓 )

是否有可能以某种方式指定一个空的$ select列表?我在ABNF看不到明显的方式。

1 个答案:

答案 0 :(得分:3)

啊......发现它了!

如果您有一个$expand的NavigationProperty,您可以使用NavigationProperty名称作为$select,所以

http://services.odata.org/V4/TripPinServiceRW/People?$expand=Friends($select=FirstName)&$select=Friends

的产率*

{
    "value": [{
        "Friends": [{
            "FirstName": "Scott"
        }]
    }]
}
为清晰起见,

* $ top和元数据已删除