【发布时间】:2014-03-14 12:23:47
【问题描述】:
我在一个表中有以下值,我需要一个满足以下条件的 LINQ 查询。
选择一条具有最大 RevOrder 的记录。 如果有多个记录的最大 RevOrder 相同,则选择最大 RevDate 的记录 如果 RevDate 也相等,则获取具有最大 RevisionStatusID 的记录。
RevisionStatusID RevDate RevOrder
1 12/01/2012 0
2 14/02/2013 1
3 10/02/2013 2
4 11/01/2013 2
5 11/01/2013 3
我尝试了以下查询,但它给出了错误。
var DocRevIDs = (from tbh in context.tblDocumentHeaders
join tbr in context.tblDocumentRevisions
on tbh.DocumentHeaderID equals tbr.DocumentHeaderID
where tbh.DocumentHeaderID == tb.DocumentHeaderID
select tbr).Max(o => new { o.RevOrder,o.RevisionDate,o.DocumentRevisionID });
无法处理类型 'f__AnonymousType52
3[System.Nullable1[System.Double],System.Nullable`1[System.DateTime],System.Int32]', 因为它没有到值层的已知映射。
【问题讨论】:
-
这是一个实体框架错误。你怎么用
DocRevIDs;