Dela via


Kopplingsåtgärder (Visual Basic)

En koppling mellan två datakällor är associationen mellan objekt i en datakälla och objekt som delar ett gemensamt attribut i en annan datakälla.

Anslutning är en viktig åtgärd i frågor som riktar sig till datakällor vars relationer till varandra inte kan följas direkt. I objektorienterad programmering kan detta innebära en korrelation mellan objekt som inte är modellerade, till exempel bakåtriktningen för en enkelriktad relation. Ett exempel på en enkelriktad relation är en kundklass som har en egenskap av typen Stad, men klassen City har ingen egenskap som är en samling kundobjekt. Om du har en lista över cityobjekt och vill hitta alla kunder i varje stad kan du använda en kopplingsåtgärd för att hitta dem.

Kopplingsmetoderna som tillhandahålls i LINQ-ramverket är Join och GroupJoin. Dessa metoder utför likvärdighet eller kopplingar som matchar två datakällor baserat på likheten mellan deras nycklar. (Som jämförelse stöder Transact-SQL andra kopplingsoperatorer än "lika med", till exempel operatorn "mindre än".) I relationsdatabastermer Join implementerar en inre koppling, en typ av koppling där endast de objekt som har en matchning i den andra datauppsättningen returneras. Metoden GroupJoin har ingen direkt motsvarighet i relationsdatabastermer, men den implementerar en supermängd av inre kopplingar och vänster yttre kopplingar. En vänster yttre koppling är en koppling som returnerar varje element i den första (vänstra) datakällan, även om den inte har några korrelerade element i den andra datakällan.

Följande bild visar en konceptuell vy över två uppsättningar och elementen i de uppsättningar som ingår i antingen en inre koppling eller en vänster yttre koppling.

Two overlapping circles showing inner/outer.

Metoder

Metodnamn beskrivning Syntax för Visual Basic-frågeuttryck Mer information
Anslut Kopplar ihop två sekvenser baserat på nyckelväljarens funktioner och extraherar par med värden. From x In …, y In … Where x.a = y.a

-eller-

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

Queryable.Join
Gruppjobb Kopplar två sekvenser baserat på nyckelväljarens funktioner och grupperar de resulterande matchningarna för varje element. Group Join … In … On … Enumerable.GroupJoin

Queryable.GroupJoin

Se även