Maison > développement back-end > C++ > Comment joindre des tables sur plusieurs champs à l'aide d'une seule expression LINQ ?

Comment joindre des tables sur plusieurs champs à l'aide d'une seule expression LINQ ?

DDD
Libérer: 2025-01-24 02:16:10
original
219 Les gens l'ont consulté

How to Join Tables on Multiple Fields Using a Single LINQ Expression?

Maîtriser les jointures de tables multi-champs dans LINQ avec une seule expression

Joindre efficacement des tables basées sur plusieurs champs est crucial pour la récupération de données complexes. LINQ offre un moyen concis d'y parvenir en utilisant une seule instruction de jointure, éliminant ainsi le besoin de clauses WHERE encombrantes.

Voici comment effectuer une équijointure (où les champs correspondants doivent être égaux) sur plusieurs champs :

<code class="language-csharp">var result = from x in entity
             join y in entity2
             on new { x.field1, x.field2 } equals new { y.field1, y.field2 };</code>
Copier après la connexion

Cette syntaxe exploite les types anonymes :

  • new { x.field1, x.field2 } : Crée un type anonyme contenant les champs de la première table (entity) utilisée pour la jointure.
  • equals new { y.field1, y.field2 } : Compare le type anonyme avec un type anonyme similaire créé à partir des champs correspondants dans la deuxième table (entity2).

Cette méthode garantit une opération de jointure propre et efficace. Pour les non-équijointures ou les conditions de jointure plus complexes, envisagez d'utiliser la méthode Join de l'espace de noms System.Linq, offrant une plus grande flexibilité.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal