Maison > base de données > tutoriel mysql > Comment obtenir efficacement des valeurs distinctes d'un champ spécifique dans LINQ ?

Comment obtenir efficacement des valeurs distinctes d'un champ spécifique dans LINQ ?

Patricia Arquette
Libérer: 2024-12-28 21:48:11
original
1017 Les gens l'ont consulté

How to Efficiently Get Distinct Values from a Specific Field in LINQ?

Obtention de valeurs distinctes dans LINQ sur la base d'un champ de table

Dans LINQ, l'opérateur distinct est couramment utilisé pour éliminer les enregistrements en double d'une source de données. Cependant, lorsque vous traitez de grands ensembles de données, cela peut devenir inefficace si vous devez uniquement filtrer les résultats en fonction d'un champ spécifique.

Pour résoudre ce problème, considérez la requête suivante :

var query = (from r in table1
orderby r.Text
select r).distinct();
Copier après la connexion

Bien que cette requête triera les résultats en fonction du champ Texte, elle ne garantit pas des résultats distincts uniquement basés sur ce champ.

Pour des résultats vraiment distincts, vous pouvez utiliser ce qui suit approche :

table1.GroupBy(x => x.Text).Select(x => x.FirstOrDefault());
Copier après la connexion

Cette requête regroupe la table par champ Texte, divisant essentiellement l'ensemble de données en groupes plus petits en fonction de valeurs de texte uniques. Par la suite, il sélectionne uniquement la première ligne de chaque groupe, renvoyant efficacement des enregistrements distincts sans nécessiter la surcharge liée au tri de l'ensemble de données.

En utilisant cette approche, vous pouvez récupérer efficacement des valeurs distinctes d'une table tout en vous concentrant uniquement sur le champ souhaité.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal