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.
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 |