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

Introdução ao LINQ

LINQ (Linguagem Integrada de Consulta) é uma sintaxe de consulta unificada no C# e VB.NET, usada para recuperar dados de diferentes fontes e formatos. Ela está integrada ao C# ou VB, eliminando a incompatibilidade entre o linguagem de programação e o banco de dados, e fornecendo uma interface de consulta única para diferentes tipos de fontes de dados.

Por exemplo, SQL é um linguagem de consulta estruturada, usada para armazenar e recuperar dados de bancos de dados. Da mesma forma, LINQ é uma sintaxe de consulta estruturada integrada ao C# e VB.NET, usada para recuperar dados de diferentes fontes de dados (por exemplo, conjuntos, DataSet ADO.Net, XML Docs, serviços web, MS SQL Server e outros bancos de dados).   

A consulta LINQ retorna os resultados como objetos. Isso permite que você use métodos orientados a objetos no conjunto de resultados, sem se preocupar em converter resultados de diferentes formatos em objetos.          

O exemplo a seguir demonstra uma consulta LINQ simples que obtém todas as strings de um array que contém "a".

// Fonte de dados
string[] names = {"Bill", "Steve", "James", "Mohan"};
// Consulta LINQ 
var myLinqQuery = from name in names
                where name.Contains('a')
                select name;
    
// Execução da consulta
foreach(var name in myLinqQuery)
    Console.Write(name + ");

No exemplo acima, o array de strings nome é uma fonte de dados. Abaixo está a consulta LINQ atribuída à variável myLinqQuery.

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

A consulta acima usa a sintaxe de consulta LINQ. Saiba mais sobre isso no capítulo 'Sintaxe de Consulta'.

Antes de executar a consulta LINQ, você não obterá seus resultados. As consultas LINQ podem ser executadas de várias maneiras, aqui usamos o laço foreach para executar a consulta armazenada em myLinqQuery. O laço foreach executa a consulta no conjunto de dados e obtém os resultados, itera então sobre o conjunto de resultados.

Portanto, cada consulta LINQ deve consultar algum tipo de fonte de dados, seja um array, conjunto, XML ou outro banco de dados. Após escrever a consulta LINQ, é necessário executá-la para obter os resultados.

Saiba mais sobre por que usar LINQ no próximo capítulo.