У меня есть таблица SQL, которая создается следующим образом:
Items:
Id ItemId VersionId
---------- ---------- ----------
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
6 3 1
Теперь я хотел бы использовать linq для выбора последней версии каждого элемента.Ожидаемый результат будет:
Id ItemId VersionId
---------- ---------- ----------
3 1 3
5 2 2
6 3 1
Каждый элемент имеет свой собственный счетчик версий, поэтому создание новой версии элемента 1 даст ему VersionId 4, тогда как создание новой версии Item 3 даст ему VersionIdиз 2.
До сих пор я пытался выбрать элементы, а затем использовать GroupBy:
var query = from i in items
select i;
var test = query.GroupBy(q => q.ItemId).ToList();
Возвращает список из 3 групп, по одной группе для каждого элемента.
Теперь, как мне продолжить и получить список только элементов последней версии из этих групп?