Compartir a través de


Operaciones de combinación

Actualización: noviembre 2007

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 trabajo LINQ son Join y GroupJoin. Estos métodos realizan combinaciones de igualdad, es decir, combinaciones que buscan las 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 sólo 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), aun cuando no tiene 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

Description

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 = b.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

Información adicional sobre cómo realizar operaciones de combinación

Vea también

Tareas

Cómo: Formular uniones y consultas de varios productos (LINQ to SQL)

Conceptos

Información general sobre operadores de consulta estándar

Tipos anónimos

Tipos de combinaciones

Referencia

System.Linq

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