使用EF4和LINQLinq GroupBY TakeWhile?
我有一个数据结构,它看起来像这样:
parentid childid version
1 2 1
1 3 1
1 4 1
1 2 2
1 3 2
1 5 2
...
也就是说,我要选择的parentid,childID的但只适用于最高版本,对于每一个parentId的有在数据库中。
我第一次尝试是这样的:
var links = data
.GroupBy (link => link.parentid)
.Select(ig => ig.OrderByDescending(link => link.version).First())
.Select (link => new .......);
然而,这显然只能选择子ID对每个父ID之一..
在样本数据上面我想孩子IDS 2,3,5从版本2母1是..
您应该按照parentid进行分组,并按照版本分组。我现在没有时间去解决问题。如果仍然有必要,我会稍后再试。 – 2012-03-24 22:09:46