DbExpressionBuilder.SelectMany Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Overloads
| Name | Description |
|---|---|
| SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
Hiermee maakt u een nieuwe DbApplyExpression die de opgegeven |
| SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
Hiermee maakt u een nieuwe DbApplyExpression die de opgegeven |
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).