DbExpressionBuilder.Join Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>) |
Erstellt eine neue DbJoinExpression , die durch die äußeren und inneren Ausdrücke angegebenen Sätze in einer Gleichheitsbedingung zwischen den angegebenen äußeren und inneren Schlüsseln verknüpft, wobei InnerJoin als die DbExpressionKind. |
| Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>) |
Erstellt eine neue DbProjectExpression , die die angegebene Selektor über die durch die äußeren und inneren Ausdrücke angegebenen Mengen projiziert, die mit einer Gleichheitsbedingung zwischen den angegebenen äußeren und inneren Schlüsseln verbunden sind, wobei InnerJoin als die DbExpressionKind. |
Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)
Erstellt eine neue DbJoinExpression , die durch die äußeren und inneren Ausdrücke angegebenen Sätze in einer Gleichheitsbedingung zwischen den angegebenen äußeren und inneren Schlüsseln verknüpft, wobei InnerJoin als die DbExpressionKind.
public:
[System::Runtime::CompilerServices::Extension]
static System::Data::Common::CommandTrees::DbJoinExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey);
public static System.Data.Common.CommandTrees.DbJoinExpression Join(this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey);
static member Join : System.Data.Common.CommandTrees.DbExpression * System.Data.Common.CommandTrees.DbExpression * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> -> System.Data.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
Ein DbExpression Wert, der das äußere Set-Argument angibt.
- inner
- DbExpression
Ein DbExpression Wert, der das innere Set-Argument angibt.
- outerKey
- Func<DbExpression,DbExpression>
Eine Methode, die angibt, wie der äußere Schlüsselwert von einem Element des äußeren Satzes abgeleitet werden soll.
- innerKey
- Func<DbExpression,DbExpression>
Eine Methode, die angibt, wie der innere Schlüsselwert von einem Element des inneren Satzes abgeleitet werden soll.
Gibt zurück
Ein neuer DbJoinExpression mit einer DbExpressionKind InnerJoin-Funktion, die den inneren Verknüpfungsvorgang darstellt, der auf die linke und rechte Eingabe angewendet wird, unter einer Verknüpfungsbedingung, die die äußeren und inneren Schlüsselwerte für Gleichheit vergleicht.
Ausnahmen
outer, inneroder outerKeyinnerKey ist NULL.
-oder-
Der ausdruck, der von outerKey oder innerKey ist null.
outer oder inner hat keinen Sammlungsergebnistyp.
-oder-
Die von outerKey der Gleichheit erzeugten und innerKey nicht vergleichbaren Ausdrücke.
Gilt für:
Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression,DbExpression>, Func<DbExpression, DbExpression,TSelector>)
Erstellt eine neue DbProjectExpression , die die angegebene Selektor über die durch die äußeren und inneren Ausdrücke angegebenen Mengen projiziert, die mit einer Gleichheitsbedingung zwischen den angegebenen äußeren und inneren Schlüsseln verbunden sind, wobei InnerJoin als die DbExpressionKind.
public:
generic <typename TSelector>
[System::Runtime::CompilerServices::Extension]
static System::Data::Common::CommandTrees::DbProjectExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^, TSelector> ^ selector);
public static System.Data.Common.CommandTrees.DbProjectExpression Join<TSelector>(this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,TSelector> selector);
static member Join : System.Data.Common.CommandTrees.DbExpression * System.Data.Common.CommandTrees.DbExpression * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression, 'Selector> -> System.Data.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 selector.
Parameter
- outer
- DbExpression
Ein DbExpression Wert, der das äußere Set-Argument angibt.
- inner
- DbExpression
Ein DbExpression Wert, der das innere Set-Argument angibt.
- outerKey
- Func<DbExpression,DbExpression>
Eine Methode, die angibt, wie der äußere Schlüsselwert von einem Element des äußeren Satzes abgeleitet werden soll.
- innerKey
- Func<DbExpression,DbExpression>
Eine Methode, die angibt, wie der innere Schlüsselwert von einem Element des inneren Satzes abgeleitet werden soll.
- selector
- Func<DbExpression,DbExpression,TSelector>
Eine Methode, die angibt, wie ein Element des Resultsets von Elementen der inneren und äußeren Sätze abgeleitet werden soll. Diese Methode muss eine Instanz eines Typs erzeugen, der mit Join kompatibel ist und in eine DbExpressionaufgelöst werden kann. Kompatibilitätsanforderungen TSelector werden in den Anmerkungen beschrieben.
Gibt zurück
Ein neues DbProjectExpression-Steuerelement mit der angegebenen Auswahl als Projektion und einem neuen DbJoinExpression als Eingabe. Die Eingabe DbJoinExpression wird mit einem DbExpressionKind InnerJoin erstellt, das den inneren Verknüpfungsvorgang darstellt, der auf die linke und rechte Eingabe angewendet wird, unter einer Verknüpfungsbedingung, die die äußeren und inneren Schlüsselwerte für Gleichheit vergleicht.
Ausnahmen
outer, inner, outerKeyoder innerKeyselector ist NULL.
-oder-
Der ausdruck, der von outerKey oder innerKey ist null.
-oder-
Das Ergebnis ist selector null nach der Konvertierung in DbExpression.
outer oder inner hat keinen Sammlungsergebnistyp.
-oder-
Die von outerKey der Gleichheit erzeugten und innerKey nicht vergleichbaren Ausdrücke.
-oder-
Das Ergebnis ist selector nicht mit SelectMany kompatibel.
Hinweise
Um mit Join kompatibel zu sein, TSelector muss von DbExpressionoder muss ein anonymer Typ mit von DbExpression abgeleiteten Eigenschaften sein. Im Folgenden sind Beispiele für unterstützte Typen aufgeführt für TSelector:
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))
(TSelector ist DbPropertyExpression).
outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })
(TSelector ist ein anonymer Typ mit von DbExpression abgeleiteten Eigenschaften).