У меня есть List
из Document
объектов. Класс Document
имеет много свойств, но здесь всего два, DocumentLinkId
и UploadedOnDate
.Как я могу использовать Distinct для определенного свойства и выбрать объект для сохранения на основе предиката?
Что я хочу сделать, это отфильтровать список, так что нет двух объектов Document
с одинаковыми DocumentLinkId
. Когда есть более одного объекта Document
с конкретным DocumentLinkId
Я хочу сохранить его с последним UploadedOnDate
.
Мой первоначальный наклон был сделать что-то вроде этого:
myDocumentsList.Distinct(d => d.DocumentLinkId).Max(d => d.UploadedOnDate);
Но Distinct()
не принимает предикат. Есть ли способ сделать это с помощью LINQ?
Попытка группировки с помощью 'DocumentLinkId', а затем взятие одной в каждой группе с max' UploadedOnDate' – Nkosi
Всегда существует опция (старая школа) для записи цикла for с типом Dictionary Как кэш. Скорее всего, он будет работать быстрее и будет легче отлаживать, если что-то пойдет не так, или вы хотите расширить критерии поиска и т. П. –
Neolisk