Partilhar via


Operações de ingresso (Visual Basic)

Uma junção de duas fontes de dados é a associação de objetos em uma fonte de dados com objetos que compartilham um atributo comum em outra fonte de dados.

A junção é uma operação importante em consultas que visam fontes de dados cujas relações entre si não podem ser seguidas diretamente. Na programação orientada a objetos, isso pode significar uma correlação entre objetos que não é modelada, como a direção para trás de uma relação unidirecional. Um exemplo de uma relação unidirecional é uma classe Customer que tem uma propriedade do tipo City, mas a classe City não tem uma propriedade que é uma coleção de objetos Customer. Se você tem uma lista de objetos da cidade e deseja encontrar todos os clientes em cada cidade, você pode usar uma operação de junção para encontrá-los.

Os métodos de junção fornecidos na estrutura LINQ são Join e GroupJoin. Esses métodos executam equijunções ou junções que correspondem a duas fontes de dados com base na igualdade de suas chaves. (Para comparação, o Transact-SQL suporta operadores de junção diferentes de 'iguais', por exemplo, o operador 'menos que'.) Em termos de banco de dados relacional, Join implementa uma junção interna, um tipo de junção na qual apenas os objetos que têm uma correspondência no outro conjunto de dados são retornados. O GroupJoin método não tem equivalente direto em termos de banco de dados relacional, mas implementa um superconjunto de junções internas e externas esquerdas. Uma junção externa esquerda é uma junção que retorna cada elemento da primeira fonte de dados (esquerda), mesmo que não tenha elementos correlacionados na outra fonte de dados.

A ilustração a seguir mostra uma visão conceitual de dois conjuntos e os elementos dentro desses conjuntos que estão incluídos em uma junção interna ou externa.

Two overlapping circles showing inner/outer.

Métodos

Nome do método Description Sintaxe da expressão de consulta do Visual Basic Mais Informações
Participar Junta duas sequências baseadas em funções de seletor de teclas e extrai pares de valores. From x In …, y In … Where x.a = y.a

-or-

Join … [As …]In … On …
Enumerable.Join

Queryable.Join
GrupoJunte-se Junta duas sequências com base nas funções do seletor de teclas e agrupa as correspondências resultantes para cada elemento. Group Join … In … On … Enumerable.GroupJoin

Queryable.GroupJoin

Consulte também