繁体   English   中英

oData内部过滤器在$ expand中

[英]oData inner filter in $expand

当前,在查询oData服务时遇到一些问题。 我对oData查询语法非常陌生。

我正在尝试使用以下网址查询oData服务

https:// mysite / DataQueryGroups ?$ select = Id,Name&$ filter = IsHidden eq false&IsShared ne false&$ expand = DataQueries($ select = Id,Name,IsPinned;)

这将期望的结果返回给我。 上面的查询基本上返回其中IsHidden = false和IsShared <> false的所有DataQueryGroups,包括其子实体DataQueries。 现在,我想向DataQueries实体添加过滤器,以仅显示IsPinned = true的结果。 所以我尝试了以下查询

https:// mysite / DataQueryGroups ?$ select = Id,Name&$ filter = IsHidden eq false&IsShared ne false&$ expand = DataQueries($ select = Id,Name,IsPinned; $ filter = IsPinned eq true;)

但这会返回相同的结果,并且看起来没有考虑我在DataQueries实体上指定的内部过滤器/最后一个过滤器。

我想知道如何过滤父实体和子实体并从这两个实体返回字段。

我发现使用这种语法存在困难。 请让我知道在这个问题上是否有人可以帮助我。

我正在使用oData版本4.0

预先感谢您迪帕克

@Deepak

似乎最新的Web API OData(v5.7)在expand中支持嵌套过滤器。 看到这个问题: https : //github.com/OData/WebApi/issues/127

我还根据您的模型编写了一个示例项目 它对我有效。

您能否在您身边运行它,让我知道任何结果。 谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM