xsodata模型是否支持嵌套的$ expand查询?

2020-09-22 09:52发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个据认为有效的odata查...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个据认为有效的odata查询,它从Neo XS运行时收到错误。 它包含一个嵌套的$ expand:

?$ expand = expenseitem($ expand = currency,expenseType,paymentType)&$ top = 20
 

产生的错误表明未遵守括号:

" $ expand系统查询选项在位置'28'处的语法错误:entityNavProperty'expenseitem($ expand = currency'不是类型'codejam.saptravelexpense.services.expenseReportType'的有效导航属性。" 

独立查询,本金费用报表上的$ expand = expenseitem,本金支出项目上的$ expand = currency,expenseType,paymentType表现正常。

这里有任何指导吗?

HANA Workbench v1.120.20。

1条回答
我是小鹏鹏啊
2020-09-22 10:06

根据我在网上阅读的内容以及OData规范,这似乎是OData V4的一项新语法功能。 XSODATA是V2。

这是OData V2中$ expand的整个规范:

http://www.odata.org/documentation/odata-version- 2-0/uri-conventions/

ere与OData V4中的同一部分:

http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0 -errata03-os-part2-url-conventions-complete.html#_Toc453752359

请注意上面有关可应用于扩展导航的查询选项的部分。

通过将以括号分隔的查询选项列表(用括号括起来)附加到导航属性名称,可以将

查询选项应用于扩展的导航属性。 允许的系统查询选项为 $ filter $select $ orderby $ skip $ top $ count $ search 和$ expand。

OData V4的新增功能中也列出了此内容:

http://docs.oasis-open.org/odata/new-in-odata/v4.0/cn01/new-in-odata-v4.0-cn01.html#_Toc366145452

2.6.4改进:$ expand

现在可以对扩展的实体进行过滤,排序,分页,投影,投射,…,当然还可以通过可组合的嵌套语法进一步扩展。

一周热门 更多>