帶有復雜對象屬性的
List<Person> distinctPeople = allPeople .GroupBy(p => p.PersonId) .Select(g => g.First()) .ToList();
List<Person> distinctPeople = allPeople .GroupBy(p => new { p.PersonId, p.FavoriteColor }) .Select(g => g.First()) .ToList();
linq的linq distract()方法提供了一種有效的方法來從集合中刪除重複元素。但是,基於一個或多個對象屬性找到不同的元素需要一種不同的方法。 分組屬性以獲取不同的結果 以基於特定屬性獲得明顯的結果,請使用組創建組並從每個組中選擇一個代表的GroupBy()和First()方法。例如:在這種情況下,在這種情況下,查詢所有人的屬性,並從每個組中選擇第一人稱。結果是基於他們的pertyid的獨特列表。 >分組多個屬性> 如果基於多個屬性需要明顯的結果,請按以下方式修改查詢: > >此查詢人們通過其個性化和favoriteColor屬性將基於這兩個條件的獨特列表確保。 >>考慮提供者可能不能保證每個組至少具有一個元素。在這種情況下,請考慮使用firstOrdeFault()而不是first()。此外,此技術可能不適用於6點之前的實體框架核心版本。請訪問https://stackoverflow.com/a/666529949/8155在此類環境中兼容。 >>>>>>>>>>>>>>>>>>。
以上是如何使用LINQ根據特定屬性獲取不同的對象?的詳細內容。更多資訊請關注PHP中文網其他相關文章!