Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Verknüpfung von zwei Datenquellen ist die Zuordnung von Objekten in einer Datenquelle mit Objekten, die ein gemeinsames Attribut in einer anderen Datenquelle gemeinsam nutzen.
Beim Verknüpfen handelt es sich um einen wichtigen Vorgang in Abfragen, die auf Datenquellen abzielen, deren Beziehungen zueinander nicht direkt befolgt werden können. Bei der objektorientierten Programmierung kann dies eine Korrelation zwischen Objekten bedeuten, die nicht modelliert sind, z. B. die Rückwärtsrichtung einer unidirektionale Beziehung. Ein Beispiel für eine unidirektionale Beziehung ist eine Customer-Klasse mit einer Eigenschaft vom Typ "City", aber die City-Klasse verfügt nicht über eine Eigenschaft, die eine Sammlung von Customer-Objekten ist. Wenn Sie eine Liste von City-Objekten haben und alle Kunden in jeder Stadt finden möchten, können Sie einen Verknüpfungsvorgang verwenden, um sie zu finden.
Die im LINQ-Framework bereitgestellten Verknüpfungsmethoden sind Join und GroupJoin. Diese Methoden führen Gleichheitsverknüpfungen oder Verknüpfungen durch, bei denen zwei Datenquellen auf Basis der Gleichheit ihrer Schlüssel verglichen werden. (Im Vergleich unterstützt Transact-SQL Join-Operatoren außer 'gleich', z.B. den Operator 'kleiner als'.) In relationalen Datenbanken implementiert Join einen inneren Join, eine Art von Verknüpfung, bei der nur die Objekte zurückgegeben werden, die eine Übereinstimmung im anderen Datensatz aufweisen. Für die GroupJoin-Methode hat bei relationalen Datenbanken kein direktes Äquivalent. Sie implementieren eine übergeordnete Menge innerer und linker äußerer Joins. Eine linke äußere Verknüpfung ist eine Verknüpfung, die jedes Element der ersten (linken) Datenquelle zurückgibt, auch wenn es keine korrelierten Elemente in der anderen Datenquelle enthält.
Die folgende Abbildung zeigt eine konzeptionelle Ansicht von zwei Sätzen und die Elemente innerhalb dieser Sätze, die entweder in einer inneren Verknüpfung oder einer linken äußeren Verknüpfung enthalten sind.
Methodik
Methodenname | BESCHREIBUNG | Syntax des Visual Basic-Abfrageausdrucks | Mehr Informationen |
---|---|---|---|
Beitreten | Verknüpft zwei Sequenzen auf Basis von Schlüsselauswahlfunktionen und extrahiert Wertepaare. | From x In …, y In … Where x.a = y.a -oder- Join … [As …]In … On … |
Enumerable.Join Queryable.Join |
Gruppenbeitritt | Verknüpft zwei Sequenzen auf Basis von Schlüsselauswahlfunktionen und gruppiert die sich ergebenden Übereinstimmungen für die einzelnen Elemente. | Group Join … In … On … |
Enumerable.GroupJoin Queryable.GroupJoin |
Siehe auch
- System.Linq
- Übersicht über Standardabfrageoperatoren (Visual Basic)
- Anonyme Typen
- Gewusst wie: Formulieren von Joins und produktübergreifenden Abfragen
- Join-Klausel
- So geht's: Inhalte aus verschiedenen Dateien zusammenführen (LINQ) (Visual Basic)
- Vorgehensweise: Auffüllen von Objektsammlungen aus mehreren Quellen (LINQ) (Visual Basic)