introducción a LINQ

Actualización: noviembre 2007

Language-Integrated Query (LINQ) es una importante innovación en Visual Studio 2008 y .NET Framework versión 3.5 que elimina la distancia que separa el mundo de los objetos y el mundo de los datos.

Tradicionalmente, las consultas con datos se expresan como cadenas sencillas, sin comprobación de tipos en tiempo de compilación ni compatibilidad con IntelliSense. Además, es necesario aprender un lenguaje de consultas diferente para cada tipo de origen de datos: bases de datos SQL, documentos XML, servicios web diversos, etc. LINQ convierte una consulta en una construcción de lenguaje de primera clase en C# y Visual Basic. Las consultas se escriben para colecciones de objetos con establecimiento inflexible de tipos, utilizando palabras clave del lenguaje y operadores con los que se está familiarizado. La ilustración siguiente muestra una consulta LINQ parcialmente completada en una base de datos de SQL Server en C#, con comprobación de tipos completa y compatibilidad con IntelliSense.

Consulta LINQ con Intellisense

En Visual Studio se pueden escribir consultas LINQ en Visual Basic o en C# con bases de datos de SQL Server, documentos XML, conjuntos de datos ADO.NET y cualquier colección de objetos que admita IEnumerable o la interfaz genérica IEnumerable<T>. También se ha previsto la compatibilidad de LINQ con el marco de entidades ADO.NET, y otros fabricantes se encuentran escribiendo proveedores LINQ para muchos servicios web y otras implementaciones de base de datos.

Puede utilizar consultas LINQ en proyectos nuevos o junto a consultas que no son LINQ en proyectos existentes. El único requisito es que el proyecto esté orientado a la versión 3.5 de .NET Framework.

Pasos siguientes

Para obtener información más detallada sobre LINQ, empiece por familiarizarse con algunos conceptos básicos en la sección Introducción que corresponda al lenguaje que utilice:

A continuación, lea la documentación relativa a la tecnología LINQ en la que esté interesado:

Vea también

Otros recursos

Language-Integrated Query (LINQ)