C# 需要使用不同的记录ID更改最近修改日期中的查询

C# 需要使用不同的记录ID更改最近修改日期中的查询,c#,linq,c#-4.0,linq-to-sql,asp.net-mvc-4,C#,Linq,C# 4.0,Linq To Sql,Asp.net Mvc 4,代码: public IList GetRecords() { return _TestRepository.GetAll() .Select(x=>newtestgridmodel { IdName=x.IdName, LName=x.LastName, FName=x.FirstName, IdRecord=x.RecordId, LastModifiedDate=x.LMDate }).ToList(); } 我需要根据以下条件更改上述查询 我想取最近修改过的记录 日期(LastModi

代码:

public IList GetRecords()
{
return _TestRepository.GetAll()
.Select(x=>newtestgridmodel
{
IdName=x.IdName,
LName=x.LastName,
FName=x.FirstName,
IdRecord=x.RecordId,
LastModifiedDate=x.LMDate
}).ToList();
}
我需要根据以下条件更改上述查询

我想取最近修改过的记录 日期(LastModifiedDate),具有不同的IdRecord(IdRecord)


注意:记录Id可能是重复的,但我需要获取具有不同记录Id的最近修改日期的记录。

您可以使用
GroupBy
,然后按修改日期从组订单中获取第一项

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();
}
_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
                });