Operaciones de combinación

Una combinación de dos orígenes de datos es la asociación de los objetos de un origen de datos con los objetos que comparten un atributo común de otro origen de datos.

La combinación es una operación importante en las consultas orientadas a orígenes de datos cuyas relaciones mutuas no se pueden seguir directamente.En la programación orientada a objetos, podría ser una correlación no modelada entre objetos, como la dirección inversa de una relación unidireccional.Una relación unidireccional es, por ejemplo, la que existe cuando una clase Customer tiene una propiedad de tipo City pero la clase City no tiene ninguna propiedad que sea una colección de objetos Customer.Si tiene una lista de objetos City y desea buscar todos los clientes de cada ciudad, podría utilizar una operación de combinación para encontrarlos.

Los métodos de combinación proporcionados en el marco de LINQ son Join y GroupJoin. Estos métodos realizan combinaciones de igualdad, es decir, combinaciones que buscan coincidencias entre dos orígenes de datos según la igualdad de sus claves.(Para la comparación, Transact-SQL admite operadores de combinación que no sean el de igualdad, "equals"; por ejemplo, el operador "menor que".) En términos de bases de datos relacionales, Join implementa una combinación interna, un tipo de combinación en la que se devuelven solo los objetos que tienen una coincidencia en el otro conjunto de datos.El método GroupJoin no tiene ningún equivalente directo para las bases de datos relacionales, pero implementa un supraconjunto de combinaciones internas y combinaciones externas izquierdas. Una combinación externa izquierda es una combinación que devuelve cada uno de los elementos del primer origen de datos (izquierda) aunque no tenga ningún elemento correlacionado en el otro origen de datos.

La ilustración siguiente muestra una vista conceptual de dos conjuntos y los elementos de esos conjuntos que están incluidos en una combinación interna o una combinación externa izquierda.

Dos círculos superpuestos mostrando el interior y el exterior.

Métodos

Nombre del método

Descripción

Sintaxis de las expresiones de consulta de C#

Sintaxis de las expresiones de consulta de Visual Basic

Más información

Join

Combina dos secuencias según las funciones del selector de claves y extrae pares de valores.

join … in … on … equals …

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

O bien

Join … [As …]In … On …

Enumerable.Join

Queryable.Join

GroupJoin

Combina dos secuencias según las funciones del selector de claves y agrupa las coincidencias resultantes para cada elemento.

join … in … on … equals … into …

Group Join … In … On …

Enumerable.GroupJoin

Queryable.GroupJoin

Vea también

Tareas

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

Cómo: Realizar una unión usando claves compuestas (Guía de programación de C#)

Cómo: Combinar contenido de archivos no similares (LINQ)

Cómo: Ordenar los resultados de una cláusula join (Guía de programación de C#)

Cómo: Realizar operaciones de combinación personalizadas (Guía de programación de C#)

Cómo: Realizar combinaciones agrupadas (Guía de programación de C#)

Cómo: Realizar combinaciones internas (Guía de programación de C#)

Cómo: Realizar operaciones de combinación externa izquierda (Guía de programación de C#)

Cómo: Rellenar colecciones de objetos de varios orígenes (LINQ)

Referencia

System.Linq

Tipos anónimos (Guía de programación de C#)

join (Cláusula, Referencia de C#)

Join (Cláusula, Visual Basic)

Conceptos

Información general sobre operadores de consulta estándar

Tipos anónimos (Visual Basic)

Tipos de combinaciones