DbExpressionBuilder.SelectMany Methode

Definitie

Overloads

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

Hiermee maakt u een nieuwe DbApplyExpression die de opgegeven apply expressie eenmaal evalueert voor elk element van een bepaalde invoerset, waardoor een verzameling rijen met bijbehorende invoer wordt geproduceerd en kolommen worden toegepast. Rijen waarvoor apply een lege set wordt geëvalueerd, worden niet opgenomen. Vervolgens wordt er een DbProjectExpression gemaakt die de apply kolom in elke rij selecteert, waardoor de algehele verzameling apply resultaten wordt geproduceerd.

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

Hiermee maakt u een nieuwe DbApplyExpression die de opgegeven apply expressie eenmaal evalueert voor elk element van een bepaalde invoerset, waardoor een verzameling rijen met bijbehorende invoer wordt geproduceerd en kolommen worden toegepast. Rijen waarvoor apply een lege set wordt geëvalueerd, worden niet opgenomen. Er wordt vervolgens een DbProjectExpression gemaakt die de opgegeven selector optie selecteert voor elke rij, waardoor de algehele verzameling resultaten wordt gegenereerd.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Hiermee maakt u een nieuwe DbApplyExpression die de opgegeven apply expressie eenmaal evalueert voor elk element van een bepaalde invoerset, waardoor een verzameling rijen met bijbehorende invoer wordt geproduceerd en kolommen worden toegepast. Rijen waarvoor apply een lege set wordt geëvalueerd, worden niet opgenomen. Vervolgens wordt er een DbProjectExpression gemaakt die de apply kolom in elke rij selecteert, waardoor de algehele verzameling apply resultaten wordt geproduceerd.

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

Parameters

source
DbExpression

Een DbExpression die de invoerset aangeeft.

apply
Func<DbExpression,DbExpression>

Een methode die de logica vertegenwoordigt die één keer moet worden geëvalueerd voor elk lid van de invoerset.

Retouren

Een nieuwe DbProjectExpression die de kolom toepassen selecteert vanuit een nieuwe DbApplyExpression met de opgegeven invoer en bindingen en een DbExpressionKind van CrossApply toepast.

Uitzonderingen

source of apply null is.

– of –

De expressie die wordt geproduceerd door apply is null.

source heeft geen resultaattype voor de verzameling.

– of –

De expressie die wordt geproduceerd door apply heeft geen verzamelingstype.

Van toepassing op

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

Hiermee maakt u een nieuwe DbApplyExpression die de opgegeven apply expressie eenmaal evalueert voor elk element van een bepaalde invoerset, waardoor een verzameling rijen met bijbehorende invoer wordt geproduceerd en kolommen worden toegepast. Rijen waarvoor apply een lege set wordt geëvalueerd, worden niet opgenomen. Er wordt vervolgens een DbProjectExpression gemaakt die de opgegeven selector optie selecteert voor elke rij, waardoor de algehele verzameling resultaten wordt gegenereerd.

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

Type parameters

TSelector

Het resultaattype van de methode.selector

Parameters

source
DbExpression

Een DbExpression die de invoerset aangeeft.

apply
Func<DbExpression,DbExpression>

Een methode die de logica vertegenwoordigt die één keer moet worden geëvalueerd voor elk lid van de invoerset.

selector
Func<DbExpression,DbExpression,TSelector>

Een methode die aangeeft hoe een element van de resultatenset moet worden afgeleid op basis van een element van de invoer en het toepassen van sets. Deze methode moet een exemplaar van een type produceren dat compatibel is met SelectMany en kan worden omgezet in een DbExpression. Compatibiliteitsvereisten voor TSelector worden beschreven in opmerkingen.

Retouren

Een nieuwe DbProjectExpression die het resultaat van de opgegeven selector selecteert in een nieuwe DbApplyExpression met de opgegeven invoer en bindingen en een DbExpressionKind van CrossApply toepast.

Uitzonderingen

sourceof applyselector is null.

– of –

De expressie die wordt geproduceerd door apply is null.

– of –

Het resultaat is selector null voor conversie naar DbExpression.

source heeft geen resultaattype voor de verzameling.

– of –

De expressie die wordt geproduceerd door apply heeft geen verzamelingstype. heeft geen verzamelingstype.

Opmerkingen

Als u compatibel wilt zijn met SelectMany, TSelector moet u zijn afgeleid van DbExpressionof moet u een anoniem type zijn met dbExpression-afgeleide eigenschappen. Hieronder ziet u voorbeelden van ondersteunde typen voor TSelector:

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

(TSelector is DbPropertyExpression).

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

(TSelector is een anoniem type met dbExpression-afgeleide eigenschappen).

Van toepassing op