LINQ permite escribir consultas directamente en C# a través de expresiones de consulta declarativas que pueden usarse para consultar y transformar datos de diferentes orígenes. LINQ ofrece un modelo coherente para trabajar con datos de múltiples formatos y orígenes simplificando la necesidad de aprender diferentes lenguajes de consultas.
2. Language-Integrated Query (LINQ) es el nombre de un conjunto de tecnologías
basadas en la integración de capacidades de consulta directamente en el lenguaje
C#.
3. La parte más visible de "lenguaje integrado" de LINQ es la expresión de consulta.
Las expresiones de consulta se escriben con una sintaxis de consulta declarativa.
- Las expresiones de consulta se pueden utilizar para consultar y transformar los
datos de cualquier origen de datos habilitado para LINQ.
- Las expresiones de consulta son fáciles de controlar porque utilizan muchas
construcciones de lenguaje C# familiares.
- Todas las variables de una expresión de consulta están fuertemente tipadas,
aunque en muchos casos no es necesario proporcionar el tipo explícitamente
porque el compilador puede deducirlo.
- Una consulta no se ejecuta hasta que no se realiza la iteración a través de la
variable de consulta, por ejemplo, en una instrucción foreach.
4. Con el tiempo se han desarrollado diferentes lenguajes para los distintos tipos de
orígenes de datos, como SQL para las bases de datos relacionales y XQuery para
XML. Por lo tanto, los programadores han tenido que aprender un lenguaje de
consultas nuevo para cada tipo de origen de datos o formato de datos que deben
admitir. LINQ simplifica esta situación al ofrecer un modelo coherente para
trabajar con los datos de varios formatos y orígenes.
5. Obtener un origen de datos
Filtrado
Ordenación
Agrupar
Combinación
Selección (proyecciones)
6. Sintaxis familiar para escribir consultas.
Comprobación en tiempo de compilación de errores de sintaxis y seguridad de
tipos.
Compatibilidad mejorada con el depurador.
Compatibilidad con IntelliSense.
Capacidad para trabajar directamente con elementos XML.
Modificación de documentos XML en memoria de gran eficacia.
Funciones de filtrado, ordenación y agrupación eficaces.
Modelo coherente para trabajar con datos en varios tipos de formatos y orígenes
de datos.