DbExpressionBuilder.SelectMany Método

Definición

Sobrecargas

Nombre Description
SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Crea un nuevo DbApplyExpression objeto que evalúa la expresión dada apply una vez para cada elemento de un conjunto de entrada determinado, lo que genera una colección de filas con las columnas de entrada y aplicación correspondientes. No se incluyen filas para las que apply se evalúa como un conjunto vacío. A DbProjectExpression continuación, se crea un objeto que selecciona la apply columna de cada fila, lo que genera la colección general de apply resultados.

SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>)

Crea un nuevo DbApplyExpression objeto que evalúa la expresión dada apply una vez para cada elemento de un conjunto de entrada determinado, lo que genera una colección de filas con las columnas de entrada y aplicación correspondientes. No se incluyen filas para las que apply se evalúa como un conjunto vacío. A DbProjectExpression continuación, se crea un objeto que selecciona el especificado selector en cada fila, lo que genera la colección general de resultados.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Crea un nuevo DbApplyExpression objeto que evalúa la expresión dada apply una vez para cada elemento de un conjunto de entrada determinado, lo que genera una colección de filas con las columnas de entrada y aplicación correspondientes. No se incluyen filas para las que apply se evalúa como un conjunto vacío. A DbProjectExpression continuación, se crea un objeto que selecciona la apply columna de cada fila, lo que genera la colección general de apply resultados.

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

Parámetros

source
DbExpression

que DbExpression especifica el conjunto de entrada.

apply
Func<DbExpression,DbExpression>

Método que representa la lógica que se va a evaluar una vez para cada miembro del conjunto de entrada.

Devoluciones

Nuevo DbProjectExpression que selecciona la columna apply de un nuevo DbApplyExpression con la entrada especificada y aplica enlaces y una DbExpressionKind de CrossApply.

Excepciones

source o apply es null.

O bien

La expresión generada por apply es NULL.

source no tiene un tipo de resultado de colección.

O bien

La expresión generada por apply no tiene un tipo de colección.

Se aplica a

SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>)

Crea un nuevo DbApplyExpression objeto que evalúa la expresión dada apply una vez para cada elemento de un conjunto de entrada determinado, lo que genera una colección de filas con las columnas de entrada y aplicación correspondientes. No se incluyen filas para las que apply se evalúa como un conjunto vacío. A DbProjectExpression continuación, se crea un objeto que selecciona el especificado selector en cada fila, lo que genera la colección general de resultados.

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

Parámetros de tipo

TSelector

Tipo de resultado del método de selector.

Parámetros

source
DbExpression

que DbExpression especifica el conjunto de entrada.

apply
Func<DbExpression,DbExpression>

Método que representa la lógica que se va a evaluar una vez para cada miembro del conjunto de entrada.

selector
Func<DbExpression,DbExpression,TSelector>

Método que especifica cómo se debe derivar un elemento del conjunto de resultados dado un elemento de la entrada y aplicar conjuntos. Este método debe generar una instancia de un tipo compatible con SelectMany y se puede resolver en un DbExpression. Los requisitos de compatibilidad para TSelector se describen en los comentarios.

Devoluciones

Nuevo DbProjectExpression que selecciona el resultado del selector especificado de un nuevo dbApplyExpression con la entrada especificada y aplica enlaces y una DbExpressionKind de CrossApply.

Excepciones

source, apply o selector es null.

O bien

La expresión generada por apply es NULL.

O bien

El resultado de selector es NULL en la conversión a DbExpression.

source no tiene un tipo de resultado de colección.

O bien

La expresión generada por apply no tiene un tipo de colección. no tiene un tipo de colección.

Comentarios

Para ser compatible con SelectMany, TSelector debe derivarse de DbExpressiono debe ser un tipo anónimo con propiedades derivadas de DbExpression. A continuación se muestran ejemplos de tipos admitidos para TSelector:

source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => apply.Property("Name"))

(TSelector es DbPropertyExpression).

source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => new { SourceName = source.Property("Name"), RelatedName = apply.Property("Name") })

(TSelector es un tipo anónimo con propiedades derivadas de DbExpression).

Se aplica a