У меня есть список форм, и в этом списке форма с тем же Заголовком обозначает другую версию этой формы, один с ближайшим Creation Время (DateTime
тип) - более новая версия.Возьмите последний п элементы из сгруппированных и упорядоченного списка с помощью Entity Framework
Поэтому я хочу выбрать каждую версию последних версий n, используя код сущности. Я использовал это, но он все еще приносит мне первые (самые старые) версии.
List<Forms> dbResult = entities.Forms.OrderByDescending(e => e.CreationDate)
.GroupBy(e => e.Title)
.SelectMany(e => e.Take(n))
.ToList();
Куда я иду не так?
Спасибо большое, отлично работал. Я использовал его как; 'Список dbResult = entity.Forms.GroupBy (e => e.Title). ВыберитеMany (e => e.OrderByDescending (e => e.CreationDate) .Take (3)). ToList();' Можете ли вы рассказать мне о порядке использования в selectMany? –
Sarge
Комбинация SelectMany и OrderBy - это внутренний выбор для получения элемента с max CreationDate. Поэтому не уверен, что вам следует «взять (3)» там. Я бы сделал еще один. После (Select) выберите 3 (3), чтобы получить только 3 формы. – Enes
Это сработало так, как я хотел, спасибо за объяснение. – Sarge