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)
Question: How can I create the query to select the latest(the maximum AccessDate
) record/object for each CustID
?
MaxDate(r=>r. ExpirationDate. Value); c#
First(); var next = items . OrderBy(item => item.Id) . First(item => item.Id > currentId); var next = items .
I'm wondering if something like:
var custsLastAccess = db.CustAccesses .Where(c.AccessReason.Length>0) .GroupBy(c => c.CustID) .Select(grp => new { grp.Key, LastAccess = grp .OrderByDescending(x => x.AccessDate) .Select(x => x.AccessDate) .FirstOrDefault() }).ToList();
you could also try OrderBy()
and Last()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With