DbExpressionBuilder.SelectMany Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
Crée une DbApplyExpression qui évalue l'expression |
SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
Crée une DbApplyExpression qui évalue l'expression |
SelectMany(DbExpression, Func<DbExpression,DbExpression>)
Crée une DbApplyExpression qui évalue l'expression apply
indiquée une fois pour chaque élément d'un jeu d'entrées particulier, produisant une collection de lignes avec les colonnes input et apply correspondantes. Les lignes pour lesquelles apply
correspond à un jeu vide ne sont pas incluses. Un DbProjectExpression est ensuite créé et la colonne apply
de chaque ligne est sélectionnée pour produire l'intégralité de la collection de résultats apply
.
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
Paramètres
- source
- DbExpression
Objet DbExpression qui spécifie le jeu de données d'entrée.
- apply
- Func<DbExpression,DbExpression>
Méthode qui représente la logique à évaluer une fois pour chaque membre du jeu de données d'entrée.
Retours
Nouvelle DbProjectExpression qui sélectionne la colonne d'application d'une nouvelle DbApplyExpression avec les liaisons d'entrée et d'application spécifiées et DbExpressionKind de CrossApply.
Exceptions
source
ou apply
est null.
- ou -
L’expression produite par apply
a la valeur Null.
source
n’a pas un type de résultat collection.
- ou -
L'expression produite par apply
n'a pas de type de collection.
S’applique à
SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>)
Crée une DbApplyExpression qui évalue l'expression apply
indiquée une fois pour chaque élément d'un jeu d'entrées particulier, produisant une collection de lignes avec les colonnes input et apply correspondantes. Les lignes pour lesquelles apply
correspond à un jeu vide ne sont pas incluses. Un DbProjectExpression est ensuite créé et le selector
spécifié sur chaque ligne est sélectionné afin de produire l'intégralité de la collection de résultats.
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
Paramètres de type
- TSelector
Type de résultat de la méthode selector
.
Paramètres
- source
- DbExpression
Objet DbExpression qui spécifie le jeu de données d'entrée.
- apply
- Func<DbExpression,DbExpression>
Méthode qui représente la logique à évaluer une fois pour chaque membre du jeu de données d'entrée.
- selector
- Func<DbExpression,DbExpression,TSelector>
Méthode qui spécifie comment un élément du jeu de résultats doit être dérivé d'un élément des jeux input et apply. Cette méthode doit produire une instance d'un type compatible avec SelectMany et pouvant être résolu en objet DbExpression. Les critères de compatibilité pour TSelector
sont décrits dans les remarques.
Retours
Nouvelle DbProjectExpression qui sélectionne le résultat du sélecteur donné à partir d'une nouvelle DbApplyExpression avec les liaisons d'entrée et d'application spécifiées et DbExpressionKind de CrossApply.
Exceptions
source
, apply
ou selector
a la valeur Null.
- ou -
L’expression produite par apply
a la valeur Null.
- ou -
Le résultat de selector
est Null lors de la conversion en DbExpression.
source
n’a pas un type de résultat collection.
- ou -
L'expression produite par apply
n'a pas de type de collection. n'a pas de type de collection.
Remarques
Pour être compatible avec SelectMany, TSelector
doit être dérivé de DbExpression, ou doit être un type anonyme avec des propriétés dérivées de DbExpression. Voici des exemples de types pris en charge pour TSelector
:
source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => apply.Property("Name"))
(TSelector
est DbPropertyExpression).
source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => new { SourceName = source.Property("Name"), RelatedName = apply.Property("Name") })
(TSelector
est un type anonyme avec des propriétés dérivées de DbExpression).