在odata中过滤双嵌套集合

时间:2017-03-03 21:02:30

标签: c# asp.net-web-api odata

我有一系列项目。项目可以有0多个资源。资源可以有0多个预测。预测有2个DateTime属性:StartDate和EndDate。

使用OData查询,我需要获取所有项目,并且对于每个项目,我需要所有ProjectResources,并且对于每个ProjectResource,我只想要其StartDate为> = @startDate且EndDate为< = @endDate的预测。

这是我试过的查询:

/Projects?$expand=ProjectResources($expand=Forecasts($filter=StartDate gt 2017-01-01 and EndDate lt 2017-03-01))

但是,当我运行此查询时,我收到Value cannot be null错误,我假设是因为当项目没有预测时,StartDate为空,因为没有预测。

知道如何实现我想做的事情吗?

1 个答案:

答案 0 :(得分:0)

我相信日期必须包含在' (单引号)