是否可以过滤OData中集合和集合内的属性

时间:2016-07-28 15:19:10

标签: c# filter kendo-grid odata

我有使用odata过滤的kendo网格。问题是我需要过滤集合内部和集合内部的属性。

查询:CaseStudies/ExamRecords/any(d:contains(d/LevelName,'11'))

CaseStudies - 收藏

ExamRecords - 收藏

LevelName - 属性

我不熟悉odata过滤。那么问题是如何纠正配置请求以过滤此查询?

因为我现在有以下错误消息:The parent value for a property access of a property 'ExamRecords' is not a single value. Property access can only be applied to a single value.

编辑1

我使用的是$ expand,这个问题不是关于'如何展示集合',这个问题关于'如何过滤集合内部集合和集合内的属性'。

1 个答案:

答案 0 :(得分:0)

如果A包含B且B包含Cs,并且所有这些都是实体,则过滤查询应该如下:

/.../As?$filter=Bs/any(b: b/Cs/any(c: c/Name eq 'test'))

参考http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-errata03-os-part2-url-conventions-complete.html#_Toc453752358

5.1.1.10 Lambda Operators