LINQ to SQL: GroupBy() and Max() to get the object with latest date

Viewed 45498

Consider a SQL Server table that's used to store events for auditing.

The need is to get only that latest entry for each CustID. We want to get the entire object/row. I am assuming that a GroupBy() will be needed in the query. Here's the query so far:

var custsLastAccess = db.CustAccesses   
                        .Where(c.AccessReason.Length>0)
                        .GroupBy(c => c.CustID)
//                      .Select()
                        .ToList();
// (?) where to put the c.Max(cu=>cu.AccessDate) 

Custs Layout

Question: How can I create the query to select the latest(the maximum AccessDate) record/object for each CustID?

3 Answers
Related