Freigeben über


DbExpressionBuilder.Join Methode

Definition

Überlädt

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

Erstellt eine neue DbJoinExpression , die die durch den äußeren und den inneren Ausdruck angegebenen Mengen verknüpft, unter einer Gleichheitsbedingung zwischen den angegebenen äußeren und inneren Schlüsseln, wobei InnerJoin als verwendet wird DbExpressionKind .

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

Erstellt einen neuen DbProjectExpression , der den angegebenen Selektor über die durch den äußeren und inneren Ausdruck angegebenen Mengen projiziert, die mit einer Gleichheitsbedingung zwischen den angegebenen äußeren und inneren Schlüsseln verknüpft sind, wobei InnerJoin als verwendet wird DbExpressionKind .

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

Erstellt eine neue DbJoinExpression , die die durch den äußeren und den inneren Ausdruck angegebenen Mengen verknüpft, unter einer Gleichheitsbedingung zwischen den angegebenen äußeren und inneren Schlüsseln, wobei InnerJoin als verwendet wird 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

Parameter

outer
DbExpression

Eine DbExpression, die das äußere Mengenargument angibt.

inner
DbExpression

Eine DbExpression, die das innere Mengenargument angibt.

outerKey
Func<DbExpression,DbExpression>

Eine Methode, die angibt, wie der Wert des äußeren Schlüssels von einem Element der äußeren Menge abgeleitet werden sollte.

innerKey
Func<DbExpression,DbExpression>

Eine Methode, die angibt, wie der Wert des inneren Schlüssels von einem Element der inneren Menge abgeleitet werden sollte.

Gibt zurück

Eine neue DbJoinExpression mit einer DbExpressionKind von InnerJoin, die den Vorgang der inneren Verknüpfung darstellt, der auf den linken und rechten Eingabeset unter einer Verknüpfungsbedingung, die die Werte des äußeren und inneren Schlüssels auf Gleichheit vergleicht, angewendet wird.

Ausnahmen

Der von outerKey oder innerKey erzeugte Ausdruck ist NULL.

Die von outerKey und innerKey erzeugten Ausdrücke sind in Bezug auf Gleichheit nicht vergleichbar.

Gilt für:

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

Erstellt einen neuen DbProjectExpression , der den angegebenen Selektor über die durch den äußeren und inneren Ausdruck angegebenen Mengen projiziert, die mit einer Gleichheitsbedingung zwischen den angegebenen äußeren und inneren Schlüsseln verknüpft sind, wobei InnerJoin als verwendet wird 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

Typparameter

TSelector

Der Typ des Selektors .

Parameter

outer
DbExpression

Eine DbExpression, die das äußere Mengenargument angibt.

inner
DbExpression

Eine DbExpression, die das innere Mengenargument angibt.

outerKey
Func<DbExpression,DbExpression>

Eine Methode, die angibt, wie der Wert des äußeren Schlüssels von einem Element der äußeren Menge abgeleitet werden sollte.

innerKey
Func<DbExpression,DbExpression>

Eine Methode, die angibt, wie der Wert des inneren Schlüssels von einem Element der inneren Menge abgeleitet werden sollte.

selector
Func<DbExpression,DbExpression,TSelector>

Eine Methode, die angibt, wie ein Element des Resultsets von Elementen der inneren und äußeren Menge abgeleitet werden sollte. Diese Methode muss einen instance eines Typs erzeugen, der mit Join kompatibel ist und in eine DbExpression aufgelöst werden kann. Anforderungen an die Kompatibilität für TSelector werden in den Hinweisen beschrieben.

Gibt zurück

Eine neue DbProjectExpression mit dem angegebenen Selektor als Projektion und eine neue DbJoinExpression als Eingabe. Die eingegebene DbJoinExpression wird mit einer DbExpressionKind von InnerJoin erstellt, die den Vorgang der inneren Verknüpfung darstellt, der auf den linken und rechten Eingabeset unter einer Verknüpfungsbedingung, die die Werte des äußeren und inneren Schlüssels auf Gleichheit vergleicht, angewendet wird.

Ausnahmen

Das Ergebnis des Selektors ist null nach der Konvertierung in DbExpression.

Das Ergebnis von Selector ist nicht mit SelectMany kompatibel.

Gilt für: