这是我想要做的:我的 ASP.NET Web API 接受来自客户端的图表“id”、“startTimestamp”和“endTimestamp”。我需要 Web API 仅选择 startTimestamp 和 endTimestamp 定义的时间戳范围内的“MeasureData”(请参阅随附的 EF5 概念模型图)。我的 Web API 向客户端返回一个 JSON AmSerialChart 对象图。然后我解析 JSON 对象图并使用 amCharts Javascript API 构建图表。该图表仅显示 startTimestamp 和 endTimestamp 之间的数据。
我不知道如何在我的控制器中编写一个 LINQ 表达式来过滤 MeasureData 并返回一个带有过滤后的 MeasureData 的 AmSerialChart 对象。
这是一次失败的尝试:
AmSerialChart amserialchart =
(AmSerialChart)db.AmSerialCharts
.Find(id)
.Graphs
.Select(g => g.Measure)
.SelectMany(m => m.MeasureData)
.Where(md => md.Timestamp >= startDate && md.Timestamp <= endDate);
“db.AmSerialCharts.Find(id)”找到合适的图表实体,但我不确定如何浏览对象图的其余部分以到达 MeasureData 过滤器。