Delen via


Join-bewerkingen (Visual Basic)

Een join van twee gegevensbronnen is de koppeling van objecten in de ene gegevensbron met objecten die een gemeenschappelijk kenmerk in een andere gegevensbron delen.

Samenvoegen is een belangrijke bewerking in query's die zijn gericht op gegevensbronnen waarvan de relaties met elkaar niet rechtstreeks kunnen worden gevolgd. In objectgeoriënteerde programmering kan dit een correlatie betekenen tussen objecten die niet zijn gemodelleerd, zoals de achterwaartse richting van een eenrichtingsrelatie. Een voorbeeld van een eenrichtingsrelatie is een klantklasse met een eigenschap van het type Plaats, maar de klasse Plaats heeft geen eigenschap die een verzameling klantobjecten is. Als u een lijst met city-objecten hebt en u alle klanten in elke stad wilt vinden, kunt u een join-bewerking gebruiken om ze te vinden.

De joinmethoden die in het LINQ-framework worden geboden, zijn Join en GroupJoin. Met deze methoden worden equijoins uitgevoerd of samengevoegd die overeenkomen met twee gegevensbronnen op basis van gelijkheid van hun sleutels. (Ter vergelijking ondersteunt Transact-SQL joinoperators anders dan 'is gelijk aan', bijvoorbeeld de operator 'kleiner dan'.) Implementeert in relationele databasetermen Join een inner join, een type join waarin alleen de objecten met een overeenkomst in de andere gegevensset worden geretourneerd. De GroupJoin methode heeft geen direct equivalent in relationele databasetermen, maar implementeert een superset van inner joins en left outer joins. Een left outer join is een join die elk element van de eerste (linker) gegevensbron retourneert, zelfs als er geen gecorreleerde elementen in de andere gegevensbron zijn.

In de volgende afbeelding ziet u een conceptuele weergave van twee sets en de elementen in die sets die zijn opgenomen in een inner join of een left outer join.

Two overlapping circles showing inner/outer.

Methoden

Methodenaam Beschrijving Syntaxis van Visual Basic-queryexpressie Meer informatie
Deelnemen Hiermee worden twee reeksen samengevoegd op basis van sleutelkiezerfuncties en worden paren waarden geëxtraheerd. From x In …, y In … Where x.a = y.a

– of –

Join … [As …]In … On …
Enumerable.Join

Queryable.Join
GroupJoin Voegt twee reeksen samen op basis van sleutelkiezerfuncties en groepeert de resulterende overeenkomsten voor elk element. Group Join … In … On … Enumerable.GroupJoin

Queryable.GroupJoin

Zie ook