我有一個來自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