Rodrigo's profileRodrigo on SharePointPhotosBlogListsMore Tools Help

Blog


    01 December

    LINQ

    O que mais vem por ai?

    Aqueles que pensavam que o .NET Framework 1.x era muito legal, nos proporcionava grandes possibilidades como, controle de sessão muito melhor que do ASP 3.0, ADO.NET acabando como os velhacos RecordSets, e muito mais, acharam aquilo o máximo, como eu achei, me empolguei tanto, fiquei tão maravilhado...

    Mas como tudo pode ser melhorado, vem a Microsoft novamente e despeja um bocado de novidades interessantes como o lançamento do .NET Framework 2.0, que maravilha, cheio de sacadas interessantes, algumas deles como Generics que proporcionou uma economia de código enorme.

    Agora um novo acrônimo vem tomando conta da minha atenção. Eis aqui seu nome “LINQ”.

    Mas ai vem a pergunta o que é esse tal de LINQ, na sua forma original “language-integrated query” que nada mais é que uma linguagem integrada para manipular dados... Ops. Manipular dados? Mas o ADO.NET tradicional não faz isso?

    Sim faz. Para aqueles que estão acostumados com o T-SQL, deve conhecer bem uma expressão do tipo:

     SELECT Nome, Telefone FROM Usuário

    Agora imagine fazer isso no código, ou melhor ainda fazer isso em um objeto de Coleção (Array), interessante não.

    Pois é exatamente isso que a Microsoft está propondo.

    Veja o código abaixo:

    var numbers = new int[] { 1,2,3,4,5,6,7,8,9 };

          var query1 = from n in numbers

                       where n>3

                       select n;

    Imagine que este código acima retorne todos os itens do array que fossem maior que 3, perceba que eu estou trabalhando com um dado fortemente tipado, apesar de ele ter sua identificação var.

    perçebam está escrito em C#, não é SQL é simplesmente LINQ.

    O mais legal nisso tudo é o processo de validação que é feito na compilação e não na execução.

    para quem se interessar, tem um artido já traduzido para o português e um site do projeto

     

    Artigo: http://www.microsoft.com/brasil/msdn/Tecnologias/arquitetura/LINQ.mspx

     

    Projeto: http://msdn.microsoft.com/data/ref/linq/