domingo 2 de mayo de 2010

LINQ – InnerJoin

Ejemplo:

Dim resultado = From pais in m_Paises _
Join persona in m_Personas _
On pais.CodPais Equals persona.CodPais _
Order by pais.NombrePais, persona.Edad _
Select new with {pais.NombrePais, persona.NombrePersona, persona.Edad}

En el ejemplo realizamos el equivalente a un INNER JOIN de base de datos pero utilizando LINQ gracias a la palabra reservada Join. En este caso la variable resultado almacenará una secuencia de un tipo anónimo compuesto por tres propiedades: NombrePais, NombrePersona y Edad. La primera de las propiedades es recuperada de la secuencia m_Paises y las dos últimas de la secuencia m_Personas.

Los campos por los que se realiza el JOIN son indicados mediante la palabra reservada On y es importante utilizar Equals y no ‘=’.