(C):
from q in dc.Questions
group q by q.BaseQuestionID into grouped
select grouped.OrderByDescending(q => q.Version).First()
因此,基本上,您按问题ID组成一组行:
Id CreatedDate Version BaseQuestionID
2 2009-10-07 13:47:27.687 1 2
3 2009-10-07 13:49:35.010 1 3
4 2009-10-09 16:03:45.973 1 5
5 2009-10-16 16:01:33.603 2 5
6 2009-10-16 16:16:22.680 1 6
7 2009-10-16 16:16:53.807 2 6
8 2009-10-16 16:41:31.180 3 6
9 2009-10-19 08:06:23.210 4 6
(每个块是一个“分组行”),然后按版本降序排列每个组,只取第一行:
Id CreatedDate Version BaseQuestionID
2 2009-10-07 13:47:27.687 1 2
3 2009-10-07 13:49:35.010 1 3
5 2009-10-16 16:01:33.603 2 5
9 2009-10-19 08:06:23.210 4 6
我愿意
希望
这将得到对SQL的合理转换,但我不想肯定地说:)