【发布时间】:2020-12-02 21:09:01
【问题描述】:
我正在使用带有 ASP WebApi 的 OData V4。我会像新版本的 OData 一样过滤扩展的集合(http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part2-url-conventions.html - 示例 90),但在我的情况下,过滤器选项无效。
我也尝试对 Nortwhind 服务和 TripPin 服务做同样的事情。它适用于 TriPin 服务,但不适用于 Northwind 服务。
这里,我使用的请求:
我的服务 : api/odata/Customers(19037)?$expand=orders($filter=id+eq+1796) --> 没有'不工作
Northwind 服务:http://services.odata.org/V4/Northwind/Northwind.svc/Customers?$expand=Orders($filter=OrderID+eq+10643) --> 不起作用强>
TripPin 服务:http://services.odata.org/V4/TripPinServiceRW/People?$expand=Trips($filter=TripId+eq+1001) --> 有效
感谢您的帮助。
【问题讨论】:
-
只是为了清楚。 Northwind Service 使用 WCF 数据服务实现,TripPin 直接使用 ODL 实现。
-
在某些情况下,使用运算符
$expand来规避聚合方面的 OData 限制。对于这种需求,您可以使用我的产品 AdaptiveLINQ,它允许通过标准 OData 运算符公开聚合查询,如$select和$filter。
标签: asp.net-web-api odata wcf-data-services