ODATA列表中的一个值或选择$ filter内部的值?

时间:2014-06-30 20:05:48

标签: filter odata querying

我有一个OData查询,该查询最近已更新为包含分页,导致部分过滤关闭。

主要对象被带回来,它有一组子对象。子对象可以有两种类型; SOURCE或DESTINATION,每个都有一个LocationID。我现在需要在执行分页之前扩展过滤器,以检查任何目标是否与单个源具有相同的位置。单个源和多个目标都包含在同一个集合(表)

当我遇到$ filter

时,这就是我所得到的
(ChildItem/any(o: o/LocationID eq 9 and o/SOURCE eq 1))

我试过

(ChildItem/any(o: o/LocationID eq (ChildItem/any(o1: o1/LocationID)) and o/SOURCE eq 1))

但当然这不是一个选择陈述。无论如何都要在过滤器内部进行选择。我以前从来没有面对这个,所以任何帮助都会受到赞赏。我在周末搜索了其他问题而无处可去。

1 个答案:

答案 0 :(得分:0)

以下过滤器怎么样?

$filter=ChildItem/Namespace.Source/any(o: ChildItem/Namespace.DESTINATION/any(o1: o/LocationID eq o1/LocationID))

但是这种复杂的过滤器需要服务器实现的支持。