我有以下数据结构(它是一个仅附加表,用于将内容映射到我们专有CMS系统中的页面区域)。
- RowID INT IDENTITY
- PageID INT FK
- ZoneID INT
- ContentID FK
- DateAdded DATETIME
我正在使用Entity Framework,并希望使用LINQ to Entities获取这些记录的列表,其中ZoneID汇总到最近的日期。实质上,每个ZoneID应该只有一个结果,查询应该在pageID上过滤。
提前感谢您的帮助!
答案 0 :(得分:2)
找到我自己的答案......
var query = from zone in
this.Context.Zones
where zone.PageID == pageID
group zone by new { zone.PageID, zone.ZoneID } into zoneGroup
let maxDate = zoneGroup.Max(x => x.DateCreated)
select zoneGroup.Where(x => x.DateCreated== maxDate);
foreach (var result in query)
{
// ... do something
}