DbExpressionBuilder.SelectMany 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 |
|---|---|
| SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
Erstellt eine neue DbApplyExpression , die den angegebenen |
| SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
Erstellt eine neue DbApplyExpression , die den angegebenen |
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).