Havia prometido colocar alguns exemplo de LINQ, mas ainda não havia feito. Bem, para quem não sabe o que é LINQ vou explicar rapidamente o conceito. O seu objetivo é facilitar a maneira como manipulamos os dados, independente de sua fonte (SQL Server, XML, coleção de Objetos) e permitir que façamos queries e trabalhemos com o seu resultado. Assim, você não precisa aprender diferentes maneiras de acessar dados, como T-SQL ou XPath ou qualquer outra coisa. O desenvolvedor ainda pode manter a mesma maneira racional de montar o código, por exemplo, orientação a objetos.

Vamos ver um exemplo simples para entendermos o que isto representa. Com o LINQ podemos fazer uma query, por exemplo, em um array. Digamos que tenhamos um array de inteiros:

int[] inteiros = {1,2,3,4,5,6,7,8,9,0};

Agora eu quero todos os números vezes 2 (x2). Com LINQ é fácil:

var result = from x in inteiros
                  select x * 2;

Notem que a estrutura é muito semelhante a de uma query SQL que já estamos acostumados, só que ao contrário. Primeiro eu defino a fonte e depois determino o que desejo selecionar. O resultado é:

 

 

E se quisermos apenas os números maiores que 5.

var result = from x in inteiros
                  where x > 5
                  select x * 2;

E isto é apenas o começo. Imagine o que podemos fazer com uma coleção de objetos!!

Até mais!!!