Maison >base de données >tutoriel mysql >Comment effectuer des jointures internes dans LINQ to SQL ?

Comment effectuer des jointures internes dans LINQ to SQL ?

DDD
DDDoriginal
2025-01-21 00:31:09862parcourir

How Do I Perform Inner Joins in LINQ to SQL?

Jointure interne LINQ to SQL : syntaxe et exemples

Les jointures internes dans LINQ to SQL combinent des lignes de plusieurs tables en fonction de prédicats correspondants. Le jeu de résultats contient uniquement les lignes qui répondent aux critères de jointure. Pour effectuer une jointure interne à l'aide de la clause ON, utilisez la syntaxe suivante :

<code class="language-csharp">from t1 in table1
join t2 in table2 on t1.property equals t2.property
select new { t1.property1, t2.property2 } // 选择要包含在结果集中的字段</code>

Par exemple, la requête suivante renvoie tous les enregistrements de la table DealerContact qui ont des valeurs DealerID correspondantes dans la table Dealer :

<code class="language-csharp">var dealercontacts = from contact in DealerContact
                     join dealer in Dealer on contact.DealerId equals dealer.ID
                     select contact;</code>

Voici un exemple plus général montrant une jointure interne typique avec une clause ON :

<code class="language-csharp">var results = from t1 in db.Table1
              join t2 in db.Table2 on t1.field equals t2.field
              select new { t1.field2, t2.field3 };</code>

Dans cet exemple, db représente le contexte des données. La première ligne crée l'alias Table1 pour la table t1, et la deuxième ligne crée l'alias Table2 pour la table t2. La clause on définit les conditions de jointure en faisant correspondre les attributs field des deux tables. L'instruction select spécifie les champs de chaque table à inclure dans l'ensemble de résultats. select new { ... } Créez un type anonyme contenant les champs de votre choix.

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