Udostępnij za pośrednictwem


Operacje JOIN

A sprzężenie dwa źródła danych jest skojarzenie obiektów w źródle danych jednego z obiektów, które współużytkują typowe atrybutu w innym źródle danych.

Łączenie jest ważnej operacji w kwerendach, odwołujące się do źródła danych, w których relacji względem siebie nie może być stosowana bezpośrednio.W programowaniu zorientowanym obiektowo, może to oznaczać korelacji między obiektami, które jest nie modelowana, takie jak Wstecz kierunek relacji jednokierunkowe.Przykładem jednokierunkowa relacja jest klasy klienta, którego właściwość typu City, ale klasa miasta nie ma właściwości, która jest kolekcją obiektów klienta.Jeśli lista obiektów miasta, a chcesz znaleźć wszystkich odbiorców w każdym mieście, można użyć operacji join je znaleźć.

Metody sprzężenia w LINQ są w ramach Join i GroupJoin. Te metody wykonywania equijoins lub sprzężenia, które odpowiadają dwóch źródeł danych, na podstawie równości ich kluczy.(Dla porównania, obsługuje języka Transact-SQL join podmiotów innych niż 'równa się', na przykład "mniej niż" operatora). Pod względem relacyjnej bazy danych Join implementuje sprzężenia wewnętrznego typu sprzężenie, w którym tylko te obiekty zawierające dopasowanie zestawu danych są zwracane.GroupJoin Metoda nie ma bezpośredniego odpowiednika względem relacyjnej bazy danych, ale implementuje nadzbiór sprzężeń wewnętrznych i lewe sprzężenia zewnętrzne. Lewe sprzężenie zewnętrzne jest sprzężenie, które zwraca każdy element pierwszego źródła danych (po lewej), nawet jeśli go nie ma żadnych elementów skorelowane w źródle danych.

Następująca ilustracja pokazuje widoku koncepcyjnym dwa zestawy i elementy wewnątrz tych zestawów, które znajdują się w przypadku sprzężenia wewnętrznego lub lewe sprzężenie zewnętrzne.

Dwa nakładające się okręgi wewnętrzną/zewnętrzną.

Metody

Nazwa metody

Opis

Kwerendy języka C# składni wyrażenia

Visual BasicSkładni wyrażenia kwerendy

Więcej informacji

Sprzężenie

Łączy dwie sekwencje oparta na funkcjach klawiszy programu selector i wyciągi z par wartości.

join … in … on … equals …

From x In …, y In … Where x.a = y.a

- lub -

Join … [As …]In … On …

Enumerable.Join

Queryable.Join

GroupJoin

Łączy dwa sekwencji na podstawie selektor kluczowych funkcji i grup znalezione wyniki dla każdego elementu.

join … in … on … equals … into …

Group Join … In … On …

Enumerable.GroupJoin

Queryable.GroupJoin

Zobacz też

Zadania

How to: Formulate Joins and Cross-Product Queries (LINQ to SQL)

Jak: sprzężenie za pomocą klawiszy kompozytowe (Podręcznik programowania C#)

Jak: Dołącz zawartość z różnych plików (LINQ)

Jak: uporządkowania wyników klauzuli Join (Podręcznik programowania C#)

Jak: wykonywanie operacji Join niestandardowe (Podręcznik programowania C#)

Jak: wykonywanie zgrupowane sprzężenia (C# Programming Guide)

Jak: wykonywanie sprzężenia wewnętrzne (C# Programming Guide)

Jak: wykonywać lewym sprzężenia zewnętrzne (Podręcznik programowania C#)

Jak: wypełnić kolekcji obiektów z wielu źródeł (LINQ)

Informacje

System.Linq

Typy anonimowe (Podręcznik programowania C#)

Klauzula sprzężenia (C# odniesienia)

Dołącz klauzulę (Visual Basic)

Koncepcje

Omówienie operatory kwerendy standardowe

Typy anonimowe (Visual Basic)

Typy sprzężeń