DbExpressionBuilder.SelectMany Método

Definição

Sobrecargas

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

Cria uma nova DbApplyExpression que avalia a expressão dada apply uma vez para cada elemento de um conjunto de entrada, produzindo uma coleção de linhas com as correspondentes colunas de entrada e aplicação. Linhas para as quais apply avalia para um conjunto vazio não são incluídas. É então criado um DbProjectExpression A que seleciona a apply coluna de cada linha, produzindo a coleção global de apply resultados.

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

Cria uma nova DbApplyExpression que avalia a expressão dada apply uma vez para cada elemento de um conjunto de entrada, produzindo uma coleção de linhas com as correspondentes colunas de entrada e aplicação. Linhas para as quais apply avalia para um conjunto vazio não são incluídas. É então criado um DbProjectExpression A que seleciona o especificado selector em cada linha, produzindo a coleção global de resultados.

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

Cria uma nova DbApplyExpression que avalia a expressão dada apply uma vez para cada elemento de um conjunto de entrada, produzindo uma coleção de linhas com as correspondentes colunas de entrada e aplicação. Linhas para as quais apply avalia para um conjunto vazio não são incluídas. É então criado um DbProjectExpression A que seleciona a apply coluna de cada linha, produzindo a coleção global 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

A DbExpression que especifica o conjunto de entrada.

apply
Func<DbExpression,DbExpression>

Um método que representa a lógica a avaliar uma vez para cada membro do conjunto de entrada.

Devoluções

Uma nova DbProjectExpression que seleciona a coluna apply de uma nova DbApplyExpression com as associações de entrada e aplicação especificadas e uma DbExpressionKind de CrossApply.

Exceções

source ou apply é null.

-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 dada apply uma vez para cada elemento de um conjunto de entrada, produzindo uma coleção de linhas com as correspondentes colunas de entrada e aplicação. Linhas para as quais apply avalia para um conjunto vazio não são incluídas. É então criado um DbProjectExpression A que seleciona o especificado selector em cada linha, produzindo a coleção global 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 Genérico

TSelector

O tipo de resultado do método de selector.

Parâmetros

source
DbExpression

A DbExpression que especifica o conjunto de entrada.

apply
Func<DbExpression,DbExpression>

Um método que representa a lógica a avaliar 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. Este método deve produzir uma instância de um tipo compatível com o SelectMany e que pode ser resolvida DbExpressionnum . Os requisitos de compatibilidade para TSelector são descritos em observações.

Devoluções

Uma nova DbProjectExpression que seleciona o resultado do seletor dado a partir de uma nova DbApplyExpression com as associações de entrada e aplicação especificadas e um 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.

Observações

Para ser compatível com o SelectMany, TSelector deve ser derivado de DbExpression, ou deve ser um tipo anónimo com propriedades derivadas do DbExpression. Seguem-se exemplos de tipos suportados 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