【问题标题】:ODATA One value within a list or Select inside of a $filter?ODATA 列表中的一个值或 $filter 中的选择?
【发布时间】:2014-06-30 20:05:48
【问题描述】:

我有一个最近更新为包含分页的 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))

但这当然不是一个选择语句。无论如何要在过滤器内进行选择。我以前从来没有遇到过这个问题,所以任何帮助都将不胜感激。周末我确实搜索了其他问题,但一无所获。

【问题讨论】:

    标签: filter odata querying


    【解决方案1】:

    下面的过滤器呢?

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

    但如此复杂的过滤器需要服务器实现的支持。

    【讨论】:

      猜你喜欢
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 2020-02-16
      • 1970-01-01
      • 2014-09-04
      • 2018-09-04
      • 2022-11-29
      • 1970-01-01
      相关资源
      最近更新 更多