lunes, 14 de abril de 2014

Realizar Consultas con LINQ (parte 2)

Continuando con esta entrega sobre las posibilidades que nos ofrece LINQ para realizar consultas, comenzaremos viendo de que manera simple pueden realizarse agrupamiento de datos.

(Ir a primer parte click aqui)

Tomando como base la clase empleado que utilizamos en la primer parte de esta entrega, podemos ver a continuación de que manera LINQ simplifica enormemente el proceso de agrupar datos, utilizando una sintaxis similar al GROUP BY de SQL.




Por otro lado, LINQ hace posible que se pueden ejecutar sobre cualquier objeto enumerable, muchos operados similares a los operadores que se encuentran en SQL, tales como Count, Min, Max, Avarage, Sum.




Como se ve en el ejemplo se simplifica ampliamente la posibilidad de obtener estos valores, a excepción del Count, que nos devuelve la cantidad total, el resto de los operadores requieren el nombre del campo sobre el cual se efectúa la operación, ello se realiza por medio del uso de la expresión Lambda.

LINQ suporta la unión de datos desde diferentes colecciones, usando una sintaxis similar a la utilizada por SQL, para ejemplificar esto, creamos una clase GrupoEmpleado, 

para relacionarla con el atributo IdGrupoEmpleado de la Clase Empleado






LINQ también nos otorga la posibilidad de realizar paginado de datos fácilmente, por medio de la utilización de los métodos Skip y Take. El primero de ellos, Skip, determina la

posición del primer item de la lista a considerar,  y por medio del método Take, se especifica la cantidad de items que serán retornados en la consulta LINQ.


Como puede observarse LINQ nos otorga una espectacular mejora en la legibilidad y comprensibilidad del código.