Рассмотрим таблицу SQL Server, которая используется для хранения событий для аудита.LINQ to SQL: GroupBy() и Max(), чтобы получить объект с последней датой
Потребность в получении только последней записи для каждого CustID. Мы хотим получить весь объект/строку. Я предполагаю, что в запросе понадобится GroupBy(). Вот запрос до сих пор:
var custsLastAccess = db.CustAccesses
.Where(c.AccessReason.Length>0)
.GroupBy(c => c.CustID)
// .Select()
.ToList();
// (?) where to put the c.Max(cu=>cu.AccessDate)
Вопрос: Как я могу создать запрос, чтобы выбрать последний (максимальный AccessDate
) запись/объект для каждого CustID
?
Имейте в виду, что это не нарушит связь - если есть две строки с одинаковыми CustID и той же AccessDAte, они оба будут найдены в соединении, и вы могли бы в конечном итоге с несколькими «самых последних доступов «на идентификатор клиента». –