Sdílet prostřednictvím


DbExpressionBuilder.Join Metoda

Definice

Přetížení

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

Vytvoří nový DbJoinExpression , který spojí sady určené vnějšími a vnitřními výrazy za podmínky rovnosti mezi zadanými vnějšími a vnitřními klíči pomocí InnerJoin jako DbExpressionKind .

Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)

Vytvoří nový DbProjectExpression , který projektuje zadaný selektor na sady určené vnějšími a vnitřními výrazy, spojené za podmínky rovnosti mezi zadanými vnějšími a vnitřními klíči pomocí InnerJoin jako DbExpressionKind .

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

Vytvoří nový DbJoinExpression , který spojí sady určené vnějšími a vnitřními výrazy za podmínky rovnosti mezi zadanými vnějšími a vnitřními klíči pomocí InnerJoin jako DbExpressionKind .

public static System.Data.Entity.Core.Common.CommandTrees.DbJoinExpression Join (this System.Data.Entity.Core.Common.CommandTrees.DbExpression outer, System.Data.Entity.Core.Common.CommandTrees.DbExpression inner, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> innerKey);
static member Join : System.Data.Entity.Core.Common.CommandTrees.DbExpression * System.Data.Entity.Core.Common.CommandTrees.DbExpression * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> -> System.Data.Entity.Core.Common.CommandTrees.DbJoinExpression
<Extension()>
Public Function Join (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression)) As DbJoinExpression

Parametry

outer
DbExpression

A DbExpression , který určuje argument vnější sady.

inner
DbExpression

A DbExpression , který určuje argument vnitřní sady.

outerKey
Func<DbExpression,DbExpression>

Metoda, která určuje, jak má být hodnota vnějšího klíče odvozena od prvku vnější sady.

innerKey
Func<DbExpression,DbExpression>

Metoda, která určuje, jak má být hodnota vnitřního klíče odvozena od prvku vnitřní sady.

Návraty

Nový DbJoinExpression s hodnotou DbExpressionKind InnerJoin, která představuje vnitřní operaci spojení použitou na levé a pravé vstupní sady pod podmínkou spojení, která porovnává hodnoty vnějšího a vnitřního klíče pro rovnost.

Výjimky

Výraz vytvořený pomocí outerKey nebo innerKey má hodnotu null.

Výrazy vytvořené pomocí outerKey a innerKey nejsou z hlediska rovnosti srovnatelné.

Platí pro

Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)

Vytvoří nový DbProjectExpression , který projektuje zadaný selektor na sady určené vnějšími a vnitřními výrazy, spojené za podmínky rovnosti mezi zadanými vnějšími a vnitřními klíči pomocí InnerJoin jako DbExpressionKind .

public static System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression Join<TSelector> (this System.Data.Entity.Core.Common.CommandTrees.DbExpression outer, System.Data.Entity.Core.Common.CommandTrees.DbExpression inner, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> innerKey, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,TSelector> selector);
static member Join : System.Data.Entity.Core.Common.CommandTrees.DbExpression * System.Data.Entity.Core.Common.CommandTrees.DbExpression * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression, 'Selector> -> System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function Join(Of TSelector) (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression

Parametry typu

TSelector

Typ selektoru .

Parametry

outer
DbExpression

A DbExpression , který určuje argument vnější sady.

inner
DbExpression

A DbExpression , který určuje argument vnitřní sady.

outerKey
Func<DbExpression,DbExpression>

Metoda, která určuje, jak má být hodnota vnějšího klíče odvozena od prvku vnější sady.

innerKey
Func<DbExpression,DbExpression>

Metoda, která určuje, jak má být hodnota vnitřního klíče odvozena od prvku vnitřní sady.

selector
Func<DbExpression,DbExpression,TSelector>

Metoda, která určuje, jak by měl být prvek sady výsledků odvozen z prvků vnitřní a vnější sady. Tato metoda musí vytvořit instanci typu, která je kompatibilní s join a lze ji přeložit na DbExpression . Požadavky na kompatibilitu pro TSelector jsou popsány v poznámkách.

Návraty

Nový DbProjectExpression se zadaným selektorem jako jeho projekcí a novým DbJoinExpression jako jeho vstupem. Vstup DbJoinExpression je vytvořen s DbExpressionKind hodnotou InnerJoin, která představuje vnitřní operaci spojení použitou na levé a pravé vstupní sady pod podmínkou spojení, která porovnává hodnoty vnějšího a vnitřního klíče pro rovnost.

Výjimky

Výsledek selektoru je po převodu na DbExpression null.

Výsledek funkce Selector není kompatibilní s funkcí SelectMany.

Platí pro