我正在努力解决(通常很容易处理)问题。
我有一个包含“测量”表的数据库。每个度量都有时间戳(日期时间),值(十进制),度量类型(查找表的外键),属于“容量项”(主表)。
我在Entity Framework中导入了SQL数据库并从中创建了一个模型。现在我想查询基线。基线是容量项的当前状态,由特定容量项的每种类型的最新测量值表示。
那么查询需要返回的是:对于某个CapacityItem,给我一个每种测量类型的最新测量值。在SQL查询中,我会对测量类型执行“分组依据”,并在时间戳上执行MAX()。
但是在Linq-2-Entities中,我似乎在泥泞中挣扎。我需要一个返回IQueryable<Measurement>
的函数,其中包含所有基线测量值,但我的查询都返回某种无法进行类型转换的匿名类型。
我希望自己清楚明白。当我重新阅读这篇文章时,我可以想象它没有多大意义。但是我一直在看这个太久了,我的思绪开始做有趣的事情: - )
这里的任何人都可以让我朝着正确的方向前进吗?如果需要,请要求澄清。
提前感谢一百万。
〜罗布
答案 0 :(得分:2)
类似的东西:
var q = from m in Context.Measurements
group m by m.MeasurementType.Id into group
from bl in group
where bl.TimeStamp == group.Max(g => g.TimeStamp)
select bl;
这是我的头脑,并猜测你的数据库。你可能需要调整它。