DbExpressionBuilder.SelectMany Método

Definição

Sobrecargas

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

Cria uma nova DbApplyExpression que avalia a expressão fornecida apply uma vez para cada elemento de um determinado conjunto de entrada, produzindo uma coleção de linhas com a entrada correspondente e aplica colunas. Linhas para as quais apply as avaliações são avaliadas como um conjunto vazio não estão incluídas. Em DbProjectExpression seguida, é criado um que seleciona a apply coluna de cada linha, produzindo a coleção geral de apply resultados.

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

Cria uma nova DbApplyExpression que avalia a expressão fornecida apply uma vez para cada elemento de um determinado conjunto de entrada, produzindo uma coleção de linhas com a entrada correspondente e aplica colunas. Linhas para as quais apply as avaliações são avaliadas como um conjunto vazio não estão incluídas. Em DbProjectExpression seguida, é criado um que seleciona o especificado selector em cada linha, produzindo a coleção geral de resultados.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Cria uma nova DbApplyExpression que avalia a expressão fornecida apply uma vez para cada elemento de um determinado conjunto de entrada, produzindo uma coleção de linhas com a entrada correspondente e aplica colunas. Linhas para as quais apply as avaliações são avaliadas como um conjunto vazio não estão incluídas. Em DbProjectExpression seguida, é criado um que seleciona a apply coluna de cada linha, produzindo a coleção geral 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

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

Um novo DbProjectExpression que seleciona a coluna apply de um novo DbApplyExpression com a entrada especificada e aplica associações e um DbExpressionKind crossApply.

Exceções

source ou apply é nulo.

-ou-

A expressão produzida por apply é nula.

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 fornecida apply uma vez para cada elemento de um determinado conjunto de entrada, produzindo uma coleção de linhas com a entrada correspondente e aplica colunas. Linhas para as quais apply as avaliações são avaliadas como um conjunto vazio não estão incluídas. Em DbProjectExpression seguida, é criado um que seleciona o especificado selector em 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 dado um elemento dos conjuntos de entrada e aplicação. Esse método deve produzir uma instância de um tipo compatível com SelectMany e pode ser resolvido em um DbExpression. Os requisitos de compatibilidade para TSelector os quais são descritos em comentários.

Retornos

Um novo DbProjectExpression que seleciona o resultado do seletor determinado de um novo DbApplyExpression com as associações de entrada e aplicação especificadas e um DbExpressionKind crossApply.

Exceções

sourceou applyselector é nulo.

-ou-

A expressão produzida por apply é nula.

-ou-

O resultado é 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 DbExpression, ou deve 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).

Aplica-se a