19 ago 2010

¿Qué es LINQ?

Language Integrated Query (LINQ) es un sistema para acceder a datos de diferentes fuentes. LINQ ofrece un modelo único de consultas que puede operar con dominios heterogéneos de datos de modo individual o conjunto en una sola consulta. LINQ introduce la capacidad de consultar datos en los lenguajes soportados por la plataforma .NET, y algunos de ellos disponen de extensiones para hacer su uso aún más intuitivo. Uno de estos lenguajes es C#; existe una gran cantidad de extensiones al lenguaje en C# 4 que ayudan a realizar consultas de un modo potente e intuitivo.

La programación orientada a objetos tradicional está basada en un estilo imperativo en el que el desarrollador describe en detalle no sólo lo que desea que suceda, sino también cómo esto debe ser realizado en código. LINQ ayuda a generar el código de un modo más declarativo lo que permite la descripción de lo que el desarrollador desea hacer en lugar de lo que es necesario realizar para lograrlo. LINQ permite un estilo más funcional de programación. Estos cambios pueden reducir considerablemente la cantidad de código necesario para realizar determinadas tareas. Dicho de otro modo, la programación orientada a objetos sigue siendo muy útil y se utiliza en C# y en .NET, pero por primera vez el lenguaje está ofreciendo la posibilidad de elegir el estilo de programación en función de las necesidades del desarrollador. Conviene resaltar, sin embargo, que LINQ no se adecua a todos los escenarios y no es un sustituto de un buen diseño. Puede escribirse mal código con LINQ del mismo modo que se puede escribir mal código orientado a objetos o de procedimientos. La clave, como siempre, es detectar en qué momento es apropiada cada técnica.

La versión inicial de LINQ viene acompañada de los dominios de datos siguientes:

  • LINQ to Objects
  • LINQ to XML
  • LINQ to ADO.NET
  • LINQ to SQL / LINQ to Datasets / LINQ to entity
Hay diversas implementaciones adicionales de "LINQ to" en desarrollo actualmente, pero estas son las que ofrece Microsoft. Algunas de las implementaciones adicionales son LINQ to SharePoint, LINQ to LDAP e incluso LINQ  to Amazon Implementation.

A medida que comience el análisis de LINQ, es fácil que empiece a verlo como una nueva capa de mapeo relacional de objetos, como algunos complementos de IEnumerable, o como una nueva API XML, o como una excusa para no escribir directamente SQL nunca más. Puede hacerlo, pero nos gustaría que pensara en LINQ como una tecnología mediante la que el programa pide, calcula y transforma conjuntos de datos de fuentes individuales y variadas. Lleva algo de tiempo de manejo de LINQ darse cuenta de sus funcionalidades pero, una vez que se hace, resulta sorprendente descubrir todo lo que se puede hacer empleándolo.

...

En esta solución de Visual Studio 2010 usted podrá encontrar cientos de ejemplos de LINQ

LinqSamples.zip

Una vista de la aplicación

No hay comentarios.: