En utilisant l'attribut spécifique du LINQ à la liste d'objets, l'application est utilisée
La méthode
Solution: Distinct()
Pour cette raison, vous pouvez regrouper l'objet en fonction des attributs requis et sélectionner le premier élément de chaque groupe. Cela vous fournira une liste, l'objet de cette liste est unique pour l'attribut spécifié. Exemple:
Considérez l'objet personne avec les attributs d'identification et de nom:
pour obtenir différentes listes de personnel en fonction des attributs d'ID:
Cela générera une liste contenant uniquement Person1 et Person3.
<code>Person1:Id=1,Name="Test1" Person2:Id=1,Name="Test1" Person3:Id=2,Name="Test2"</code>
Attributs multiples:
List<Person> distinctPeople = allPeople .GroupBy(p => p.Id) .Select(g => g.First()) .ToList();
Si vous avez besoin de vous regrouper en fonction de plusieurs attributs, vous pouvez utiliser un type anonyme:
<事> Remarque:
Certains fournisseurs de requête peuvent avoir besoin d'utiliser
List<Person> distinctPeople = allPeople .GroupBy(p => new { p.Id, p.FavoriteColor }) .Select(g => g.First()) .ToList();
pour s'assurer que chaque groupe a au moins un élément. Pour les méthodes compatibles compatibles avec LINQ aux entités (EF Core) (avant la 6ème version), veuillez vous référer à cette réponse:
https://www.php.cn/link/7dd21654ce1c39ec763219e71f11FirstOrDefault()
First()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!