2011-04-12 23 views
1

我想将这个sql转换成我的LINQ查询,并且有很多问题。使用LINQ中的最大函数

select Heading,CreatedBy,ReleaseID, MAX(PublishDate) 
from Releases 
group by Heading,CreatedBy,ReleaseID 

我需要在这LINQ格式使用此查询

List<RelData> cmsPress = (from Release in dataContext.Releases 
             select new RelData 
             { 

              Heading = Release.Heading, 
              ReleaseID = Release.ReleaseID, 
              CreatedBy = Release.CreatedBy, 
              PublishDate = Release.PublishDate.ToShortDateString() 
             }).ToList(); 

回答

3

事情是这样的:

List<RelData> cmsPress = (from Release in dataContext.Releases 
    group Release by new { Release.Heading, Release.ReleaseID, Release.CreatedBy } into g 
    select new RelData 
    {            
     Heading = g.Key.Heading, 
     ReleaseID = g.Key.ReleaseID, 
     CreatedBy = g.Key.CreatedBy, 
     PublishDate = g.Max(x => x.PublishDate).ToShortDateString() 
    }).ToList();