2012-11-15 37 views
1

代碼:需要改變在最近的修改日期查詢具有鮮明的記錄ID的

public IList<TestGridModel> GetRecords() 
{ 
    return _TestRepository.GetAll() 
      .Select(x => new TestGridModel 
      { 
       IdName = x.IdName, 
       LName = x.LastName, 
       FName = x.FirstName, 
       IdRecord = x.RecordId, 
       LastModifiedDate = x.LMDate 
      }).ToList(); 
} 

我需要改變基於以下條件上面的查詢。

我想用不同的IdRecords(IdRecord)獲取最近修改的 date(LastModifiedDate)的記錄。

注意:記錄ID可重複的,但我需要修改日期最近具有鮮明的記錄ID來獲得的記錄。

回答

0

您可以使用GroupBy,然後從修改日期的組順序中獲取第一項。

_TestRepository.GetAll() 
       .GroupBy(x => x.RecordId) 
       .Select(g => g.OrderByDesceding(i => i.LMDate).First()})              
       .Select(x => new TestGridModel 
       { 
        IdName = x.Itemx.IdName, 
        LName = x.LastName, 
        FName = x.FirstName, 
        IdRecord = x.RecordId, 
        LastModifiedDate = x.LMDate 
       });