OData v4:$ filter上的$ filter扩展复杂类型上的1:1基数不起作用

2020-08-31 21:49发布

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

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


嗨,

过滤在复杂类型上内联了1:n实体的扩展结果集,事情按预期进行:

 $ expand = toMany($ filter = somePropInComplexType eq'value')
 

对内联的1:1实体过滤相同的结果集不起作用:

?$ expand = toOne($ filter = somePropInComplexType eq'value')
 

出于演示目的,我在"帽子社区"仓库中构建了一个最小示例: https://github.com/sapmentors/cap-community/blob/master/structured-types (分叉上的备份链接:https://github.com/vobu/cap-community/tree/feature/structured-types/structured-types

我已经在SQLite和HANA上尝试了相同的结果-1:n过滤器有效,而1:1则无效。

env:

-cds 3.17.4

-sqlite3 4.1.0

-HANA 2.00.037.02.1562323855

最佳,沃尔克

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

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


嗨,

过滤在复杂类型上内联了1:n实体的扩展结果集,事情按预期进行:

 $ expand = toMany($ filter = somePropInComplexType eq'value')
 

对内联的1:1实体过滤相同的结果集不起作用:

?$ expand = toOne($ filter = somePropInComplexType eq'value')
 

出于演示目的,我在"帽子社区"仓库中构建了一个最小示例: https://github.com/sapmentors/cap-community/blob/master/structured-types (分叉上的备份链接:https://github.com/vobu/cap-community/tree/feature/structured-types/structured-types

我已经在SQLite和HANA上尝试了相同的结果-1:n过滤器有效,而1:1则无效。

env:

-cds 3.17.4

-sqlite3 4.1.0

-HANA 2.00.037.02.1562323855

最佳,沃尔克

2条回答
歪着头看世界
1楼-- · 2020-08-31 22:29

您好Volker,

感谢提出这个问题!
不支持基于一对一关系的过滤器表达式,因为它不是您要过滤的集合,而是一个实体或根本没有实体。

您有为此用例吗?

非常感谢和问候
David

路亽曱_Ryan
2楼-- · 2020-08-31 22:42

嗨,David,

感谢您参与!

本质上,用例如 https://github.com/sapmentors/cap-community/blob/master/issues/structured-types/README.md

在Entity1和Entity2之间存在1:1的关系。 我想通过Entity2的属性过滤所有Entities1:

http://url/Entities1?$ expand = Entity2&$ filter = Entity2/prop eq'值'

Best,V。

一周热门 更多>