English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Introducción a LINQ

LINQ (Lenguaje Integrado de Consulta) es una sintaxis de consulta unificada en C# y VB.NET, utilizada para recuperar datos de diferentes fuentes y formatos. Se integra en C# o VB, eliminando la incompatibilidad entre el lenguaje de programación y la base de datos, y proporcionando una interfaz de consulta única para diferentes tipos de fuentes de datos.

Por ejemplo, SQL es un lenguaje de consulta estructurado, utilizado para almacenar y recuperar datos de bases de datos. Del mismo modo, LINQ es una sintaxis de consulta estructurada integrada en C# y VB.NET, utilizada para recuperar datos de diferentes fuentes de datos (por ejemplo, conjuntos, DataSet de ADO.Net, XML Docs, servicios web y bases de datos MS SQL Server y otras bases de datos).   

La consulta de LINQ devuelve los resultados como objetos. Esto le permite usar métodos orientados a objetos en el conjunto de resultados, sin preocuparse por convertir resultados de diferentes formatos en objetos.          

El siguiente ejemplo muestra una consulta de LINQ simple que obtiene todas las cadenas que contienen "a" de un array.

// Fuente de datos
string[] names = {"Bill", "Steve", "James", "Mohan"};
// Consulta de LINQ 
var myLinqQuery = from name in names
                where name.Contains('a')
                select name;
    
// Ejecución de la consulta
foreach(var name in myLinqQuery)
    Console.Write(name + "");

En el ejemplo anterior, el nombre del array de cadenas es una fuente de datos. A continuación, se muestra la consulta de LINQ asignada a la variable myLinqQuery.

from name in names
where name.Contains('a')
select name;

La consulta anterior utiliza la sintaxis de consulta de LINQ. Obtendrá más información en el capítulo sobre la sintaxis de consulta.

Antes de ejecutar la consulta de LINQ, no obtendrá sus resultados. Las consultas de LINQ se pueden ejecutar de varias maneras, aquí usamos el bucle foreach para ejecutar la consulta almacenada en myLinqQuery. El bucle foreach ejecuta la consulta en el origen de datos y obtiene los resultados, luego itera sobre el conjunto de resultados.

Por lo tanto, cada consulta de LINQ debe consultar algún tipo de fuente de datos, ya sea un array, una colección, XML u otra base de datos. Después de escribir la consulta de LINQ, debe ejecutarse para obtener los resultados.

En el siguiente capítulo, aprenderá por qué se debe usar LINQ.