Join(TSelector) Método (DbExpression, DbExpression, Func(DbExpression, DbExpression), Func(DbExpression, DbExpression), Func(DbExpression, DbExpression, TSelector))
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Método DbExpressionBuilder.Join<TSelector>(DbExpression, DbExpression, Func<DbExpression, DbExpression>, Func<DbExpression, DbExpression>, Func<DbExpression, DbExpression, TSelector>)

.NET Framework (current version)
 

Cria um novo DbProjectExpression que mantenha o seletor especificado sobre conjuntos especificados por externos e expressões internas, juntas em uma condição de igualdade entre as chaves externos e internas especificadas, usando InnerJoin como DbExpressionKind.

Namespace:   System.Data.Common.CommandTrees.ExpressionBuilder
Assembly:  System.Data.Entity (em System.Data.Entity.dll)

public static DbProjectExpression Join<TSelector>(
	this DbExpression outer,
	DbExpression inner,
	Func<DbExpression, DbExpression> outerKey,
	Func<DbExpression, DbExpression> innerKey,
	Func<DbExpression, DbExpression, TSelector> selector
)

Parâmetros

outer

DbExpression que especifica o argumento definido externo.

inner

DbExpression que especifica o argumento definido interno.

outerKey

Um método que especifica como o valor da chave externa deve ser derivado de um elemento de conjunto externo.

innerKey

Um método que especifica como o valor da chave interno deve ser derivado de um elemento de conjunto interno.

selector

Um método que especifica como um elemento do conjunto de resultados deve ser derivado dos elementos dos conjuntos internos e externos.Esse método deve gerar uma instância de um tipo que seja compatível com se juntem e se possa ser resolvido em DbExpression.Os requisitos de compatibilidade para TSelector são descritos nos comentários.

Valor de retorno

Type: System.Data.Common.CommandTrees.DbProjectExpression

Um novo DbProjectExpression com o seletor especificado como a projeção, e um novo DbJoinExpression como sua entrada.A entrada DbJoinExpression é criada com DbExpressionKind de InnerJoin, que representa o join interno operação aplicada aos conjuntos esquerda e direitos de entrada em uma condição do join que compare valores chave externos e internas para igualdade.

Parâmetros de tipo

TSelector

O tipo de selector.

Exception Condition
ArgumentNullException

outer, inner, outerKey, innerKey ou selector são nulos.

ArgumentException

outer ou inner não tem um tipo do resultado da coleção.

ArgumentNullException

A expressão gerada por outerKey ou por innerKey é nulo.

ArgumentNullException

O resultado de selector é zero após a conversão de DbExpression.

ArgumentException

As expressões geradas por outerKey e por innerKey não são comparáveis para igualdade.

ArgumentException

O resultado de Selector não é compatível com SelectMany.

Para ser compatível com join, TSelector deve ser derivado de DbExpression, ou deve ser um tipo anônimo com propriedades DbExpression- derivados.Os seguintes exemplos são de tipos suportados para TSelector:

outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => o.Property("Name"))

(TSelector é DbPropertyExpression).

outer.Join(inner, o => o.Property("ID"), i => i.Property("ID"), (o, i) => new { OName = o.Property("Name"), IName = i.Property("Name") })

(TSelector é um tipo anônimo com propriedades DbExpression- derivadas).

.NET Framework
Disponível desde 4.5
Retornar ao topo
Mostrar:
© 2016 Microsoft