Continuando con el curso Inicio en Visual C#, esta semana hablamos una de las novedades de .NET, LINQ
LINQ es quizás una de las características más novedosas introducidas en Microsoft .NET Framework en los últimos años.
No dejaré en animarle a usar LINQ siempre que pueda, no porque sea mejor que otras formas de trabajar que encontrará en Microsoft .NET Framework, sino porque simplifica el código, acorta los tiempos de desarrollo, y bajo mi particular punto de vista, permite que el desarrollador desarrolle aplicaciones más productivas.
LINQ significa Language INtegrated Query, o lo que es lo mismo, lenguaje integrado de consultas.
Se trata de una de las novedades incluidas en Microsoft .NET Framework 3.5, y representa una forma nueva de desarrollo tal y como la conocíamos hasta ahora.
LINQ está pensado desde la orientación a objetos, pero su objetivo fundamental es la manipulación y trabajo con datos.
Cuando hablamos de datos siempre pensamos en bases de datos, pero LINQ tiene una implicación mucho más generalista, de hecho, podemos trabajar con colecciones, matrices, etc.
Para que comprenda más aún la importancia de LINQ, diremos que la inmensa mayoría de las novedades introducidas en Microsoft .NET Framework 3.5 tienen su razón de ser gracias a LINQ, y que LINQ jugará un importante papel en las próximas novedades de Microsoft .NET Framework.
A la hora de trabajar con datos, con LINQ tenemos la posibilidad de seleccionar, manipular y filtrar datos como si estuviéramos trabajando con una base de datos directamente.
Evidentemente, podemos usar LINQ con bases de datos, pero también con matrices, colecciones de datos, etc como decíamos antes.
En todo esto, Intellisense juega un papel muy importante evitando que cometamos errores a la hora de escribir nuestras aplicaciones, errores como por ejemplo seleccionar el dato erróneo o el tipo de dato inadecuado, ya que el compilador nos avisaría de estos y otros errores.
Por lo tanto, el desarrollo de aplicaciones con LINQ, permite diseñar aplicaciones más seguras a la hora de trabajar con datos y sus tipos.
Orígenes de datos
Dentro de LINQ encontramos diferentes orígenes de datos dentro de Microsoft .NET Framework 3.5.
Estos orígenes de datos son los siguientes:
LINQ to Objects: representa el uso de LINQ sobre objetos.
LINQ to XML: representa el uso de LINQ sobre documentos XML.
ADO.NET y LINQ: dentro de este grupo encontramos los diferentes orígenes de datos de LINQ que tienen relación directa con datos relacionales. Los orígenes de datos de LINQ y ADO.NET son:
LINQ to DataSet: representa el uso de LINQ sobre DataSet.
LINQ to SQL: representa el uso de LINQ sobre orígenes de datos de SQL Server.
LINQ to Entities: representa el uso de LINQ sobre cualquier origen de datos, SQL Server, Oracle, MySql, DB2, etc.
Como vemos, LINQ abarca más que el propio trabajo con datos de bases u orígenes de datos.
Así, con LINQ podemos manipular y trabajar con datos de objetos o de documentos XML. Este último representa una importante ventaja para los desarrolladores de VB respecto a los desarrolladores de C#, ya que el equipo de trabajo de VB ha hecho especial énfasis al trabajo de LINQ con documentos XML motivado por el feedback recibido por la Comunidad de desarrolladores de todo el mundo.
Más adelante, veremos como utilizar LINQ y como aprovechar las ventajas que nos ofrece.