Opérations de jointure
Une jointure de deux sources de données est l'association d'objets dans une source de données avec des objets qui partagent un attribut commun dans une autre source de données.
La jointure est une opération importante dans les requêtes qui ciblent les sources de données dont les relations ne peuvent pas être suivies directement.Dans la programmation orientée objet, cela pourrait signifier une corrélation entre objets qui n'est pas modélisée, telle que la direction descendante d'une relation unidirectionnelle.On parle par exemple de relation unidirectionnelle lorsqu'une classe Customer possède une propriété de type City, mais que la classe City ne possède pas de propriété correspondant à une collection d'objets Customer.Si vous avez une liste d'objets City et que vous souhaitez rechercher tous les clients de chaque ville, vous pouvez utiliser une opération de jointure.
Les méthodes de jointure fournies dans l'infrastructure LINQ sont Join et GroupJoin. Ces méthodes effectuent des équijointures ou des jointures qui associent deux sources de données en fonction de l'égalité de leurs clés.Pour la comparaison, Transact-SQL prend en charge des opérateurs de jointure autres que 'égal', par exemple, l'opérateur 'inférieur à'. Dans la terminologie de base de données relationnelle, Join implémente une jointure interne, un type de jointure dans lequel seuls les objets qui ont une correspondance dans l'autre groupe de données sont retournés.La méthode GroupJoin n'a aucun équivalent direct dans la terminologie de base de données relationnelle, mais elle implémente un sur-ensemble de jointures internes et de jointures externes gauches. Une jointure externe gauche est une jointure qui retourne chaque élément de la première source de données (gauche), même si elle n'a pas d'éléments corrélés dans l'autre source de données.
L'illustration suivante présente une vue conceptuelle de ces deux groupes et des éléments de ces groupes qui sont inclus dans une jointure interne ou une jointure externe gauche.
Méthodes
Nom de la méthode |
Description |
Syntaxe d'expression de requête C# |
Syntaxe d'expression de requête Visual Basic |
Informations supplémentaires |
---|---|---|---|---|
Join |
Joint deux séquences selon les fonctions de sélection de clé et extrait des paires de valeurs. |
join … in … on … equals … |
From x In …, y In … Where x.a = y.a ou Join … [As …]In … On … |
|
GroupJoin |
Joint deux séquences selon les fonctions de sélection de clé et regroupe les résultats correspondants pour chaque élément. |
join … in … on … equals … into … |
Group Join … In … On … |
Voir aussi
Tâches
How to: Formulate Joins and Cross-Product Queries (LINQ to SQL)
Comment : joindre du contenu issu de différents fichiers (LINQ)
Comment : classer les résultats d'une clause Join (Guide de programmation C#)
Comment : effectuer des opérations de jointure personnalisées (Guide de programmation C#)
Comment : effectuer des jointures groupées (Guide de programmation C#)
Comment : effectuer des jointures internes (Guide de programmation C#)
Comment : effectuer des jointures externes gauches (Guide de programmation C#)
Comment : remplir des collections d'objets issues de plusieurs sources (LINQ)
Référence
Types anonymes (Guide de programmation C#)