Jugando con LinQUn vistazo al uso de consultas, operadores y delegados para facilitar el
uso de colecciones de datos.
¿Qué es LinQ?
LinQ => Language Integrated Query
Es un componente que forma parte del framework .Net
Fue presentado como una de las principales características de la versión 3.5
de .Net
Fue creado como parte del proyecto de investigación Cω (C Omega) por parte
del equipo de WebData de Sql Server y el equipo de Microsoft Research
LinQ Query Sintax es muy similar a las consultas Sql.
¿Por qué usar LinQ?
Las consultas LinQ son fáciles de entender y cambian poco entre diferentes
lenguajes.
Los tipos de datos, objetos y nombres de variables son validados en tiempo de
compilación
Hay una gran cantidad de operadores que pueden utilizarse para crear
consultas
Posee una arquitectura abierta y extensible
Funciona sobre varios orígenes de datos
¿Qué es una función Lambda?
Es una función anónima que puede contener expresiones e instrucciones.
No necesitan un identificador dado que se declaran “in situ”, justo cuando
van a utilizarse; convirtiendo al destinatario de esta función a actuar como
delegado o puntero hacia la misma.
Funciones lambda
Sintaxis
Query Operator
LinQ nos brinda la capacidad de crear nuevos operadores cuando los que
tenemos a nuestra disposición no satisfacen nuestras necesidades.
Pueden ser:
Single Element: devuelven solo un element de la secuencia (First, Last, etc)
Sequence: devuelven una secuencia de elementos (where)
Aggregate: devuelven el resultado de una operación (Count, Min, etc)
Grouping: devuelven grupos de elements (GroupBy, GroupJoin)