DbExpressionBuilder.Join Método

Definição

Sobrecargas

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

Cria um novo DbJoinExpression que une os conjuntos especificados pelas expressões exterior e interior, sob uma condição de igualdade entre as chaves externa e interior especificadas, usando InnerJoin como o DbExpressionKind.

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

Cria um novo DbProjectExpression que projeta o seletor especificado sobre os conjuntos especificados pelas expressões exterior e interior, unidos sob uma condição de igualdade entre as chaves externa e interna especificadas, usando InnerJoin como o DbExpressionKind.

Join(DbExpression, DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression>)

Cria um novo DbJoinExpression que une os conjuntos especificados pelas expressões exterior e interior, sob uma condição de igualdade entre as chaves externa e interior especificadas, usando InnerJoin como o DbExpressionKind.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbJoinExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey);
public static System.Data.Common.CommandTrees.DbJoinExpression Join(this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey);
static member Join : System.Data.Common.CommandTrees.DbExpression * 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> -> System.Data.Common.CommandTrees.DbJoinExpression
<Extension()>
Public Function Join (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression)) As DbJoinExpression

Parâmetros

outer
DbExpression

A DbExpression que especifica o argumento do conjunto exterior.

inner
DbExpression

A DbExpression que especifica o argumento do conjunto interno.

outerKey
Func<DbExpression,DbExpression>

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

innerKey
Func<DbExpression,DbExpression>

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

Devoluções

Uma nova DbJoinExpression, com um DbExpressionKind de InnerJoin, que representa a operação de junção interna aplicada aos conjuntos de entrada esquerda e direita sob uma condição de junção que compara os valores das chaves externas e internas para igualdade.

Exceções

outer, inner, outerKey ou innerKey é nulo.

-ou-

A expressão produzida por outerKey ou innerKey é nula.

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

-ou-

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

Aplica-se a

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

Cria um novo DbProjectExpression que projeta o seletor especificado sobre os conjuntos especificados pelas expressões exterior e interior, unidos sob uma condição de igualdade entre as chaves externa e interna especificadas, usando InnerJoin como o DbExpressionKind.

public:
generic <typename TSelector>
[System::Runtime::CompilerServices::Extension]
 static System::Data::Common::CommandTrees::DbProjectExpression ^ Join(System::Data::Common::CommandTrees::DbExpression ^ outer, System::Data::Common::CommandTrees::DbExpression ^ inner, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ outerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^> ^ innerKey, Func<System::Data::Common::CommandTrees::DbExpression ^, System::Data::Common::CommandTrees::DbExpression ^, TSelector> ^ selector);
public static System.Data.Common.CommandTrees.DbProjectExpression Join<TSelector>(this System.Data.Common.CommandTrees.DbExpression outer, System.Data.Common.CommandTrees.DbExpression inner, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> outerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression> innerKey, Func<System.Data.Common.CommandTrees.DbExpression,System.Data.Common.CommandTrees.DbExpression,TSelector> selector);
static member Join : System.Data.Common.CommandTrees.DbExpression * 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> * Func<System.Data.Common.CommandTrees.DbExpression, System.Data.Common.CommandTrees.DbExpression, 'Selector> -> System.Data.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function Join(Of TSelector) (outer As DbExpression, inner As DbExpression, outerKey As Func(Of DbExpression, DbExpression), innerKey As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression

Parâmetros de Tipo Genérico

TSelector

O tipo do selector.

Parâmetros

outer
DbExpression

A DbExpression que especifica o argumento do conjunto exterior.

inner
DbExpression

A DbExpression que especifica o argumento do conjunto interno.

outerKey
Func<DbExpression,DbExpression>

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

innerKey
Func<DbExpression,DbExpression>

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

selector
Func<DbExpression,DbExpression,TSelector>

Um método que especifica como um elemento do conjunto de resultados deve ser derivado a partir de elementos dos conjuntos interno e externo. Este método deve produzir uma instância de um tipo compatível com Join e que pode ser resolvida num DbExpression. Os requisitos de compatibilidade para TSelector são descritos em observações.

Devoluções

Um novo DbProjectExpression com o seletor especificado como projeção, e um novo DbJoinExpression como entrada. A entrada DbJoinExpression é criada com um DbExpressionKind de InnerJoin, que representa a operação de junção interna aplicada aos conjuntos de entrada esquerda e direita sob uma condição de junção que compara os valores das chaves exteriores e internas para igualdade.

Exceções

outer, inner, outerKey, innerKey ou selector é nulo.

-ou-

A expressão produzida por outerKey ou innerKey é nula.

-ou-

O resultado de selector é nulo após conversão para DbExpression.

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

-ou-

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

-ou-

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

Observações

Para ser compatível com o Join, 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:

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 derivadas de DbExpression).

Aplica-se a