DbExpressionBuilder.SelectMany Methode

Definition

Überlädt

Name Beschreibung
SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Erstellt eine neue DbApplyExpression , die den angegebenen apply Ausdruck einmal für jedes Element eines bestimmten Eingabesatzes auswertet, wodurch eine Auflistung von Zeilen mit entsprechender Eingabe erstellt und Spalten angewendet werden. Zeilen, für die ein leerer Satz ausgewertet wird, apply sind nicht enthalten. Anschließend DbProjectExpression wird eine Erstellt, die die apply Spalte aus jeder Zeile auswählt und die Gesamtauflistung der apply Ergebnisse erzeugt.

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

Erstellt eine neue DbApplyExpression , die den angegebenen apply Ausdruck einmal für jedes Element eines bestimmten Eingabesatzes auswertet, wodurch eine Auflistung von Zeilen mit entsprechender Eingabe erstellt und Spalten angewendet werden. Zeilen, für die ein leerer Satz ausgewertet wird, apply sind nicht enthalten. A DbProjectExpression wird dann erstellt, die die angegebene Zeile selector auswählt, wodurch die Gesamtauflistung der Ergebnisse erzeugt wird.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Erstellt eine neue DbApplyExpression , die den angegebenen apply Ausdruck einmal für jedes Element eines bestimmten Eingabesatzes auswertet, wodurch eine Auflistung von Zeilen mit entsprechender Eingabe erstellt und Spalten angewendet werden. Zeilen, für die ein leerer Satz ausgewertet wird, apply sind nicht enthalten. Anschließend DbProjectExpression wird eine Erstellt, die die apply Spalte aus jeder Zeile auswählt und die Gesamtauflistung der apply Ergebnisse erzeugt.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ SelectMany(System::Data::Common::CommandTrees::DbExpression ^ source, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ apply);
public static System.Data.Common.CommandTrees.DbProjectExpression SelectMany(this System.Data.Common.CommandTrees.DbExpression source, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> apply);
static member SelectMany : System.Data.Common.CommandTrees.DbExpression * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression> -> System.Data.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function SelectMany (source As DbExpression, apply As Func(Of DbExpression, DbExpression)) As DbProjectExpression

Parameter

source
DbExpression

Ein DbExpression Wert, der den Eingabesatz angibt.

apply
Func<DbExpression,DbExpression>

Eine Methode, die die Logik darstellt, die einmal für jedes Element des Eingabesatzes ausgewertet werden soll.

Gibt zurück

Ein neues DbProjectExpression, das die angewendete Spalte aus einem neuen DbApplyExpression mit der angegebenen Eingabe auswählt und Bindungen und eine DbExpressionKind von CrossApply anwendet.

Ausnahmen

source oder apply ist NULL.

-oder-

Der von diesem Ausdruck erzeugte apply Ausdruck ist NULL.

source hat keinen Sammlungsergebnistyp.

-oder-

Der von apply diesem Ausdruck erzeugte Ausdruck besitzt keinen Auflistungstyp.

Gilt für:

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

Erstellt eine neue DbApplyExpression , die den angegebenen apply Ausdruck einmal für jedes Element eines bestimmten Eingabesatzes auswertet, wodurch eine Auflistung von Zeilen mit entsprechender Eingabe erstellt und Spalten angewendet werden. Zeilen, für die ein leerer Satz ausgewertet wird, apply sind nicht enthalten. A DbProjectExpression wird dann erstellt, die die angegebene Zeile selector auswählt, wodurch die Gesamtauflistung der Ergebnisse erzeugt wird.

public:
generic <typename TSelector>
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ SelectMany(System::Data::Common::CommandTrees::DbExpression ^ source, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ apply, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^, TSelector> ^ selector);
public static System.Data.Common.CommandTrees.DbProjectExpression SelectMany<TSelector>(this System.Data.Common.CommandTrees.DbExpression source, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> apply, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,TSelector> selector);
static member SelectMany : 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 SelectMany(Of TSelector) (source As DbExpression, apply As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression

Typparameter

TSelector

Der Methodenergebnistyp von selector.

Parameter

source
DbExpression

Ein DbExpression Wert, der den Eingabesatz angibt.

apply
Func<DbExpression,DbExpression>

Eine Methode, die die Logik darstellt, die einmal für jedes Element des Eingabesatzes ausgewertet werden soll.

selector
Func<DbExpression,DbExpression,TSelector>

Eine Methode, die angibt, wie ein Element des Resultsets anhand eines Elements der Eingabe abgeleitet und Sets angewendet werden soll. Diese Methode muss eine Instanz eines Typs erzeugen, der mit SelectMany kompatibel ist und in eine DbExpressionaufgelöst werden kann. Kompatibilitätsanforderungen TSelector werden in den Anmerkungen beschrieben.

Gibt zurück

Ein neues DbProjectExpression, das das Ergebnis der angegebenen Auswahl aus einem neuen DbApplyExpression mit der angegebenen Eingabe auswählt und Bindungen und eine DbExpressionKind von CrossApply anwendet.

Ausnahmen

source, apply oder selector ist NULL.

-oder-

Der von diesem Ausdruck erzeugte apply Ausdruck ist NULL.

-oder-

Das Ergebnis ist selector null für die Konvertierung in DbExpression.

source hat keinen Sammlungsergebnistyp.

-oder-

Der von apply diesem Ausdruck erzeugte Ausdruck besitzt keinen Auflistungstyp. verfügt nicht über einen Sammlungstyp.

Hinweise

Um mit SelectMany kompatibel zu sein, TSelector muss von DbExpressionoder ein anonymer Typ mit von DbExpression abgeleiteten Eigenschaften sein. Im Folgenden sind Beispiele für unterstützte Typen aufgeführt für TSelector:

source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => apply.Property("Name"))

(TSelector ist DbPropertyExpression).

source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => new { SourceName = source.Property("Name"), RelatedName = apply.Property("Name") })

(TSelector ist ein anonymer Typ mit von DbExpression abgeleiteten Eigenschaften).

Gilt für: