DbExpressionBuilder.SelectMany Méthode

Définition

Surcharges

Nom Description
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.

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.

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).

S’applique à