DbExpressionBuilder.SelectMany Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
SelectMany(DbExpression, Func<DbExpression,DbExpression>) |
Cria uma nova DbApplyExpression que avalia a expressão |
SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>) |
Cria uma nova DbApplyExpression que avalia a expressão |
SelectMany(DbExpression, Func<DbExpression,DbExpression>)
Cria uma nova DbApplyExpression que avalia a expressão apply
fornecida uma vez para cada elemento de um determinado conjunto de entrada, produzindo um conjunto de linhas com colunas input e apply correspondentes. Linhas para as quais apply
é avaliado para um conjunto vazio não são incluídas. Um DbProjectExpression é criado, o qual seleciona a coluna apply
de cada linha, produzindo a coleção geral de resultados 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
Parâmetros
- source
- DbExpression
Um DbExpression que especifica o conjunto de entrada.
- apply
- Func<DbExpression,DbExpression>
Um método que representa a lógica a ser avaliada uma vez para cada membro do conjunto de entrada.
Retornos
Uma nova DbProjectExpression que seleciona a coluna apply de uma nova DbApplyExpression com as associações input e apply especificadas e uma DbExpressionKind de CrossApply.
Exceções
source
não tem um tipo de resultado de coleção.
- ou -
A expressão produzida por apply
não tem um tipo de coleção.
Aplica-se a
SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>)
Cria uma nova DbApplyExpression que avalia a expressão apply
fornecida uma vez para cada elemento de um determinado conjunto de entrada, produzindo um conjunto de linhas com colunas input e apply correspondentes. Linhas para as quais apply
é avaliado para um conjunto vazio não são incluídas. Um DbProjectExpression é então criado, o qual seleciona o selector
especificado sobre cada linha, produzindo a coleção geral 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
O tipo de resultado do método de selector
.
Parâmetros
- source
- DbExpression
Um DbExpression que especifica o conjunto de entrada.
- apply
- Func<DbExpression,DbExpression>
Um método que representa a lógica a ser avaliada uma vez para cada membro do conjunto de entrada.
- selector
- Func<DbExpression,DbExpression,TSelector>
Um método que especifica como um elemento do conjunto de resultados deve ser derivado de um elemento fornecido dos conjuntos input e apply. Este método deve produzir uma instância de um tipo compatível com SelectMany e pode ser resolvido em um DbExpression. Requisitos de compatibilidade para TSelector
são descritos em comentários.
Retornos
Uma nova DbProjectExpression que seleciona o resultado do seletor fornecido de uma nova DbApplyExpression com as associações input e apply especificadas e uma DbExpressionKind de CrossApply.
Exceções
source
, apply
ou selector
é nulo.
- ou -
A expressão produzida por apply
é nula.
- ou -
O resultado de selector
é nulo na conversão para DbExpression.
source
não tem um tipo de resultado de coleção.
- ou -
A expressão produzida por apply
não tem um tipo de coleção. não tem um tipo de coleção.
Comentários
Para ser compatível com SelectMany, TSelector
deve ser derivado de DbExpressionou ser um tipo anônimo com propriedades derivadas de DbExpression. Veja a seguir exemplos de tipos com suporte para TSelector
:
source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => apply.Property("Name"))
(TSelector
é DbPropertyExpression).
source.SelectMany(x => x.Property("RelatedCollection"), (source, apply) => new { SourceName = source.Property("Name"), RelatedName = apply.Property("Name") })
(TSelector
é um tipo anônimo com propriedades derivadas de DbExpression).