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.
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 … |
|
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 … |
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