9

我将 WebAPI 2.2 与 OData V4 一起使用。

我可以使用$filter=RelatedObj/PropertyName eq 'Some Value'基于相关对象属性值过滤实体列表。

但是,当我尝试使用相同的语法时$select

$select=Id,Name,RelatedObj/PropertyName

导致异常:

"message": "The query specified in the URI is not valid. Found a path with multiple navigation properties or a bad complex property path in a select clause. Please reword your query such that each level of select or expand only contains either TypeSegments or Properties.",
"innererror": {
"message": "Found a path with multiple navigation properties or a bad complex property path in a select clause. Please reword your query such that each level of select or expand only contains either TypeSegments or Properties.",
"type": "Microsoft.OData.Core.ODataException",

这可以解决吗?

4

2 回答 2

13

您可以使用$expand和嵌套$select查询选项来做到这一点

$select=Id,Name&$expand=RelatedObj($select=PropertyName)

请参阅ODATA 文档

于 2016-01-27T17:15:40.910 回答
0

如果要对$select导航属性下的项目执行 a,则需要首先$expand导航属性。

EntitySet?$select=Id,Name,RelatedObj/PropertyName&$expand=RelatedObj
于 2015-06-18T19:41:21.977 回答