我有一个来自Linq2Sql的实体的可枚举集合(它们已被枚举到此阶段的数组)。集合可能(可能会)包含同一实体的多个事件。我将如何去订购收藏品,以便最常发生的实体被移到前面?按发生次序排序IEnumerable
IEnumerable<Entity> results = SearchForEntities(searchCriteria);
return results.OrderByDescending(e => /* Number of occurences in results? */)
.Distinct()
.Take(maxSearchResults);
对我应该在OrderByDescending表达式中加入什么帮助?
提前致谢! :)
编辑:澄清要求。收集中出现的实体不止一次具有唯一的ID,但是对同一对象的引用是而不是。
所以你不在乎,一些实体被删除?您选择的答案仅返回每个组的第一个答案。 – 2011-04-07 16:07:33
是的,这是我的意图,是否从.Distinct呼叫中不明显? – MattDavey 2011-04-08 07:45:53
啊,不知何故,我完全错过了。 – 2011-04-08 14:21:19