【问题标题】:odata query $filter on nested navigation propertyodata 查询 $filter 嵌套导航属性
【发布时间】:2018-08-18 01:14:24
【问题描述】:

我有一个实体客户包含订单导航属性和订单包含产品导航属性(一对多)。

现在我如何过滤所有订购了特定产品的客户。我已经尝试了下面提到的所有排列,但它抛出了 odata 异常:

试用 1) 客户?$filter=Orders/Products/any(d:d/ProductCode eq 'code1')

试用 2) 客户?$expand=Orders($expand=Products))&$filter=Orders/Products/any(d:d/ProductCode eq 'code1')

试用 3) 客户?$expand=Orders($expand=Products))&$filter=Orders/any(d:d/Products/ProductCode eq 'code1')

请为 odata 查询建议正确的格式。

【问题讨论】:

    标签: entity-framework odata wcf-data-services


    【解决方案1】:

    我认为您在这里需要两个不同的 any 子句,因为我认为您要求“具有 any 订单的客户又拥有 any 产品产品代码'code1'"

    所以我认为它应该是这样的:

    Customers?$filter= Orders/any(o: o/Products/any(p: p/ProductCode eq 'code1'))

    这是一个使用示例 TripPin OData 服务的示例:http://services.odata.org/V4/TripPinServiceRW/People?$filter=Friends/any(f:%20f/Trips/any(t:%20t/Name%20eq%20'Trip%20in%20US'))&$expand=Friends($expand=Trips)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多