Maison >base de données >tutoriel mysql >Comment supprimer les enregistrements en double dans LINQ en fonction d'un champ spécifique ?

Comment supprimer les enregistrements en double dans LINQ en fonction d'un champ spécifique ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-03 06:10:40424parcourir

How to Delete Duplicate Records in LINQ Based on a Specific Field?

Suppression des doublons dans Linq en fonction du champ d'une table

Dans Linq, l'opérateur distinct offre un moyen simple d'éliminer les enregistrements en double d'une table. Cependant, par défaut, il compare les enregistrements entiers, pas seulement des champs spécifiques.

Lorsque vous avez l'intention de filtrer les enregistrements en double sur la base uniquement d'un seul champ, tel que r.Text dans votre exemple, une approche modifiée est requise. .

En utilisant la requête que vous avez fournie :

var query = (from r in table1
orderby r.Text
select r).distinct();

évitera les doublons, mais en fonction du contenu combiné de tous les champs, pas seulement r.Text.

Pour obtenir le résultat souhaité, considérez la requête suivante :

table1.GroupBy(x => x.Text).Select(x => x.FirstOrDefault());

Cette requête regroupera la table1 par le champ Texte en utilisant GroupBy. Au sein de chaque groupe, il sélectionne le premier élément à l'aide de FirstOrDefault(). La collection résultante contiendra des lignes où le champ Texte est distinct.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn