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
| Nom | Description |
|---|---|
| SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
Crée une nouvelle DbApplyExpression valeur qui évalue l’expression donnée |
| SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
Crée une nouvelle DbApplyExpression valeur qui évalue l’expression donnée |
SelectMany(DbExpression, Func<DbExpression,DbExpression>)
Crée une nouvelle DbApplyExpression valeur qui évalue l’expression donnée apply une fois pour chaque élément d’un jeu d’entrée donné, produisant une collection de lignes avec l’entrée correspondante et appliquant des colonnes. Les lignes pour lesquelles apply la valeur d’un jeu vide n’est pas incluse. Un DbProjectExpression est ensuite créé qui sélectionne la apply colonne à partir de chaque ligne, produisant la collection globale de apply résultats.
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
Qui DbExpression spécifie le jeu d’entrée.
- apply
- Func<DbExpression,DbExpression>
Méthode qui représente la logique à évaluer une fois pour chaque membre du jeu d’entrée.
Retours
Nouvelle DbProjectExpression qui sélectionne la colonne apply à partir d’une nouvelle DbApplyExpression avec l’entrée spécifiée et applique des liaisons et un DbExpressionKind crossApply.
Exceptions
source ou apply a la valeur Null.
-ou-
L’expression produite par apply est null.
source n’a pas de type de résultat de 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 nouvelle DbApplyExpression valeur qui évalue l’expression donnée apply une fois pour chaque élément d’un jeu d’entrée donné, produisant une collection de lignes avec l’entrée correspondante et appliquant des colonnes. Les lignes pour lesquelles apply la valeur d’un jeu vide n’est pas incluse. Un DbProjectExpression est ensuite créé qui sélectionne le spécifié selector sur chaque ligne, produisant la collection globale 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 de selector.
Paramètres
- source
- DbExpression
Qui DbExpression spécifie le jeu d’entrée.
- apply
- Func<DbExpression,DbExpression>
Méthode qui représente la logique à évaluer une fois pour chaque membre du jeu 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é en fonction d’un élément de l’entrée et de l’application de jeux. Cette méthode doit produire une instance d’un type compatible avec SelectMany et peut être résolue en un DbExpression. Les exigences TSelector de compatibilité sont décrites dans les remarques.
Retours
Nouvelle DbProjectExpression qui sélectionne le résultat du sélecteur donné à partir d’une nouvelle DbApplyExpression avec l’entrée spécifiée et applique des liaisons et un DbExpressionKind CrossApply.
Exceptions
sourceou applyselector a la valeur Null.
-ou-
L’expression produite par apply est null.
-ou-
Le résultat est null lors de selector la conversion en DbExpression.
source n’a pas de type de résultat de 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 , ou doit être un type anonyme avec des propriétés dérivées de DbExpressionDbExpression. 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).