Operaciones de combinación

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

La combinación es una operación importante en las consultas destinadas a orígenes de datos cuyas relaciones entre sí no se puede seguir directamente. En la programación orientada a objetos, esto podría significar una correlación entre objetos que no está modelada, como el sentido contrario de una relación unidireccional. Un ejemplo de una relación unidireccional es una clase Cliente que tiene una propiedad de tipo Ciudad, pero la clase Ciudad no tiene una propiedad que sea una colección de objetos Cliente. Si tiene una lista de objetos Ciudad y quiere encontrar todos los clientes en cada ciudad, podría usar una operación de combinación para encontrarlos.

Los métodos de combinación proporcionados en el marco LINQ son Join``4 y GroupJoin``4. Estos métodos realizan combinaciones de igualdad, o combinaciones que hacen corresponder dos orígenes de datos en función de la igualdad de sus claves. (Para comparar, Transact-SQL admite otros operadores de combinación aparte de 'igual', por ejemplo, 'menor que'). En términos de base de datos relacional, Join``4 implementa una combinación interna, un tipo de combinación en la que solo se devuelven los objetos que tienen una correspondencia en el otro conjunto de datos. El método GroupJoin``4 no tiene un equivalente directo en términos de base de datos relacional, pero implementa un supraconjunto de combinaciones internas y combinaciones externas izquierdas. Una combinación externa izquierda es una combinación que devuelve cada elemento del primer origen de datos (izquierdo), aunque no haya elementos correlacionados en el otro origen de datos.

En la ilustración siguiente se muestra una vista conceptual de dos conjuntos y los elementos de esos conjuntos que se incluyen en una combinación interna o en 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 la expresión de consulta de C#

Sintaxis de la expresión de consulta de Visual Basic

Más información

Join

Combina dos secuencias según las funciones de 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``4

Queryable.Join``4

GroupJoin

Combina dos secuencias según las funciones de selector de claves y agrupa los resultados coincidentes para cada elemento.

join … in … on … equals … into …

Group Join … In … On …

Enumerable.GroupJoin``4

Queryable.GroupJoin``4

Vea también

Tareas

Formular uniones y consultas de varios productos

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)