DbExpressionBuilder.SelectMany Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
| Nombre | Description |
|---|---|
| SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
Crea un nuevo DbApplyExpression objeto que evalúa la expresión dada |
| SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
Crea un nuevo DbApplyExpression objeto que evalúa la expresión dada |
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 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).