Compartilhar via


Operações JOIN

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

Ingressando é uma operação importante em consultas que não podem ser seguidos cujos relacionamentos entre si diretamente de fontes de dados de destino. Na programação orientada a objeto, isso pode significar uma correlação entre os objetos que não é modelada, como o retroativamente a direção de uma relação unidirecional. Um exemplo de uma relação unidirecional é uma classe de cliente que tenha uma propriedade do tipo cidade, mas a classe da cidade não tem uma propriedade que é uma coleção de objetos Customer. Se você tiver uma lista de objetos de cidade e você deseja localizar todos os clientes em cada cidade, você poderia usar uma operação join para localizá-los.

Os métodos de associação fornecidos no LINQ framework são Join e GroupJoin. Esses métodos executam equijoins ou associações que coincidem com duas fontes de dados com base na igualdade de suas chaves. (Para comparação, oferece suporte a SQL Transact ingressar operadores diferentes de 'equals', por exemplo o 'inferior' operador). Em termos de banco de dados relacional, Join implementa uma associação interna, um tipo de associação na qual somente aqueles objetos que têm uma correspondência no conjunto de dados são retornados. O GroupJoin método não possui equivalente direto em termos de banco de dados relacional, mas ele implementa um superconjunto de junções internas e associações externas à esquerda. Uma associação externa esquerda é uma associação que retorna cada elemento da primeira fonte de dados (à esquerda), mesmo se ele não tem nenhum elemento correlacionado em outro data source.

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

Dois círculos sobrepostos mostrando a junção interna/externa.

Métodos

Nome do método

Descrição

C# Expressão de consulta sintaxe

Visual BasicSintaxe de expressão de consulta

Mais informações

Join

Associa duas seqüências com base nas funções do seletor de chave e extrai os pares de valores.

join … in … on … equals …

From x In …, y In … Where x.a = y.a

- ou -

Join … [As …]In … On …

Enumerable.Join

Queryable.Join

GroupJoin

Associa duas seqüências com base nas funções do seletor de chave e as correspondências resultantes para cada elemento de grupos.

join … in … on … equals … into …

Group Join … In … On …

Enumerable.GroupJoin

Queryable.GroupJoin

Consulte também

Tarefas

How to: Formulate Joins and Cross-Product Queries (LINQ to SQL)

Como: associar usando composto de Chaves (guia de programação TRANSLATION FROM VPE FOR CSHARP)

Como: Associar-se o conteúdo de arquivos diferentes (LINQ)

Como: ordem dos Resultados de uma cláusula de associação (guia de programação TRANSLATION FROM VPE FOR CSHARP)

Como: executar operações de associação Personalizar (guia de programação TRANSLATION FROM VPE FOR CSHARP)

Como: realizar associações agrupadas (guia de programação TRANSLATION FROM VPE FOR CSHARP)

Como: realizar associações interna (guia de programação TRANSLATION FROM VPE FOR CSHARP)

Como: executar esquerda junções externas (guia de programação TRANSLATION FROM VPE FOR CSHARP)

Como: Preencher as coleções de objetos de várias fontes (LINQ)

Referência

System.Linq

Tipos anônimos (guia de programação TRANSLATION FROM VPE FOR CSHARP)

<>cláusula de associação de>(TRANSLATION FROM VPE FOR CSHARP Reference)

Cláusula de adição (Visual Basic)

Conceitos

Visão geral operadores de consulta padrão

Tipos anônimos (Visual Basic)

Tipos de associações