DbExpressionBuilder.SelectMany Méthode

Définition

Surcharges

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.

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.

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

S’applique à