使用 OData $select 从相关对象中挑选字段
Use OData $select to cherry pick fields from related object
我正在使用 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",
这能解决吗?
如果要对导航 属性 下的项目执行 $select
,您需要先 $expand
导航 属性。
EntitySet?$select=Id,Name,RelatedObj/PropertyName&$expand=RelatedObj
您可以使用 $expand
和嵌套 $select
查询选项
$select=Id,Name&$expand=RelatedObj($select=PropertyName)
我正在使用 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",
这能解决吗?
如果要对导航 属性 下的项目执行 $select
,您需要先 $expand
导航 属性。
EntitySet?$select=Id,Name,RelatedObj/PropertyName&$expand=RelatedObj
您可以使用 $expand
和嵌套 $select
查询选项
$select=Id,Name&$expand=RelatedObj($select=PropertyName)