Sdílet prostřednictvím


Group Join – klauzule (Visual Basic)

Kombinuje dvě kolekce do jediného hierarchickou kolekci.Operace join je založena na odpovídající klíče.

Group Join element [As type] In collection _
  On key1 Equals key2 [ And key3 Equals key4 [... ] ] _
  Into expressionList

Části

Termín

Definice

element

Povinné.Řídicí proměnná kolekce je připojen.

type

Nepovinné.Typ element.Pokud ne type je zadán typ element je odvodit ze collection.

collection

Povinné.Kolekce sloučit s kolekcí, která je na levé straně Group Join operátor.A Group Join mohou být vnořené klauzuli v Join klauzule nebo v jiném Group Join klauzule.

key1Equalskey2

Povinné.Identifikuje klíče pro kolekce je připojen.Je nutné použít Equals operátor porovnání klíčů z kolekce je připojen.Můžete kombinovat podmínky spojení pomocí And operátoru identifikovat více klíčů.key1 Parametr musí být z kolekce na levé straně Join operátor.key2 z kolekce na pravé straně musí být parametr Join operátor.

Klávesy používané v podmínce spojení může být výrazy, které obsahují více než jednu položku z kolekce.Každý výraz klíče však může obsahovat pouze položky z jeho příslušných kolekce.

expressionList

Povinné.Jeden nebo více výrazů, které určit, jak jsou agregovány skupiny prvků z kolekce.Chcete-li určit název členu seskupených výsledků, použijte Group klíčové slovo (<alias> = Group).Můžete také zahrnout agregační funkce pro skupiny.

Poznámky

Group Join Klauzule kombinuje dvě kolekce založené na odpovídající hodnoty klíče z kolekce je připojen.Výsledné kolekce může obsahovat člena, který odkazuje druhá kolekce odpovídající hodnotu klíče z kolekce první sada prvků.Můžete také určit agregačních funkcí pro seskupené prvky ze druhá kolekce.Informace o agregačních funkcích naleznete v tématu Aggregate – klauzule (Visual Basic).

Zvažte například kolekce správci a shromažďování zaměstnanců.Prvky z obou kolekcí mají vlastnost ManagerID, který identifikuje zaměstnance, které zejména správce zprávu.Výsledky z operace spojení by obsahovat výsledek pro každou vedoucího a zaměstnance s odpovídající hodnotou ManagerID.Výsledky z Group Join operace bude obsahovat úplný seznam správců.Každý správce výsledek by měl člen, který odkazuje na seznam zaměstnanců, které byly odpovídající zvláštní správce.

Kolekce vyplývající z Group Join operace mohou obsahovat libovolnou kombinaci hodnot z kolekce v From klauzule a výrazů v Into klauzule Group Join klauzule.Další informace o platných výrazů Into klauzule, viz Aggregate – klauzule (Visual Basic).

A Group Join operace vrátí všechny výsledky z kolekce identifikovány na levé straně Group Join operátor.To platí i v případě, že neexistují žádné odpovídající položky v kolekci je připojen.To je jako LEFT OUTER JOIN v SQL.

Můžete použít Join klauzule kombinovat kolekcí do jedné kolekce.To je ekvivalentní INNER JOIN v SQL.

Příklad

Následující příklad kódu spojuje dvě kolekce pomocí Group Join klauzule.

Dim customerList = From cust In customers
                   Group Join ord In orders On
                   cust.CustomerID Equals ord.CustomerID
                   Into CustomerOrders = Group,
                        OrderTotal = Sum(ord.Total)
                   Select cust.CompanyName, cust.CustomerID,
                          CustomerOrders, OrderTotal

For Each customer In customerList
  Console.WriteLine(customer.CompanyName &
                    " (" & customer.OrderTotal & ")")

  For Each order In customer.CustomerOrders
    Console.WriteLine(vbTab & order.OrderID & ": " & order.Total)
  Next 
Next

Viz také

Referenční dokumentace

Select – klauzule (Visual Basic)

From – klauzule (Visual Basic)

Join – klauzule (Visual Basic)

Where – klauzule (Visual Basic)

Group By – klauzule (Visual Basic)

Koncepty

Představení technologie LINQ v jazyce Visual Basic

Další zdroje

Dotazy (Visual Basic)