无法将匿名返回类型从查询强制转换为实体类型

时间:2010-07-19 14:05:31

标签: c# silverlight linq-to-entities wcf-ria-services

我正在努力解决(通常很容易处理)问题。

我有一个包含“测量”表的数据库。每个度量都有时间戳(日期时间),值(十进制),度量类型(查找表的外键),属于“容量项”(主表)。

我在Entity Framework中导入了SQL数据库并从中创建了一个模型。现在我想查询基线。基线是容量项的当前状态,由特定容量项的每种类型的最新测量值表示。

那么查询需要返回的是:对于某个CapacityItem,给我一个每种测量类型的最新测量值。在SQL查询中,我会对测量类型执行“分组依据”,并在时间戳上执行MAX()。 但是在Linq-2-Entities中,我似乎在泥泞中挣扎。我需要一个返回IQueryable<Measurement>的函数,其中包含所有基线测量值,但我的查询都返回某种无法进行类型转换的匿名类型。

我希望自己清楚明白。当我重新阅读这篇文章时,我可以想象它没有多大意义。但是我一直在看这个太久了,我的思绪开始做有趣的事情: - )

这里的任何人都可以让我朝着正确的方向前进吗?如果需要,请要求澄清。

提前感谢一百万。

〜罗布

1 个答案:

答案 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;

这是我的头脑,并猜测你的数据库。你可能需要调整它。

相关问题