Использование EF4 и Linq
У меня есть структура данных, которая выглядит следующим образом:
parentid childid version
1 2 1
1 3 1
1 4 1
1 2 2
1 3 2
1 5 2
...
То есть я хочу выбрать парентид, childid, но только для самой высокой версии, для каждой парентиды в базе данных.
Моя первая попытка была такой:
var links = data
.GroupBy (link => link.parentid)
.Select(ig => ig.OrderByDescending(link => link.version).First())
.Select ( link => new ....... );
Однако, это, очевидно, выбирает только один из дочерних идентификаторов для каждого родительского идентификатора.
В приведенных выше примерах данных я хочу получить дочерние идентификаторы 2,3,5 из версии 2 для родителя 1, то есть ..