Ejemplo:
Dim resultado = From pais In m_Paises _
Group Join persona In m_Personas On _
pais.CodPais Equals persona.CodPais _
Into PersonasDelPais = Group, _
EdadMinima = Min(persona.Edad) _
Select pais.NombrePais, _
pais.CodPais, _
PersonasDelPais, EdadMinima
m_Paises tiene objetos de la clase Pais. Esta clase tiene las propiedades CodPais (string) y NombrePais (string).
m_Personas tiene objetos de la clase Persona. Esta clase tiene las propiedades NombrePersona (string), CodPais (string) y Edad (integer).
Esta es una de las consultas más interesantes que podemos realizar con LINQ, se trata de una mezcla entre JOIN y agrupación (lo haremos por medio de las palabras reservadas Group Join).
Lo vemos con el ejemplo anterior: la variable resultado será una secuencia de objetos con las siguientes propiedades: NombrePais(string), CodPais(string), PersonasDelPais (secuencia de objetos del mismo tipo que los objetos contenidos en la secuencia m_Personas, es decir, objetos de la clase Persona) y EdadMinima (integer). ´
Como se ve hemos realizado una agrupación con otra tabla generando una secuencia (PersonasDelPais) y además hemos utilizado una función de agregado, en este caso Min para guardar la edad mínima dentro de ese grupo de personas pertenecientes a un país.

0 comentarios:
Publicar un comentario en la entrada