none
Dúvida para utilizar linq? RRS feed

  • Pergunta

  • Boas senhores, tenho um apl c# acessando sqlserver

    Tenho que fazer o tratamento de um retorno de uma consulta sql...?

    Neste tratamento preciso fazer validações em algumas colunas e criar uma nova coluna para identificar o tipo de verificação, no final tenho que fazer outros tratamentos...como tenho que manipular estas informações. Estava pensando em usar uma lista, matriz, sei la o que...e dando uma olhada vi o linq...consigo fazer tudo isso com linq ? ou seja, executar o select via linq e ficar trabalhando os dados. Como fazer isso ?

    Tem outro forma melhor ?

    valeu e t+ 

    quarta-feira, 14 de novembro de 2012 15:28

Respostas

  • Exemplo com Entity e Linq

    EntityCriadaParaExemplo.San2011Entities db = new EntityCriadaParaExemplo.San2011Entities();
    
    
    var objeto = db.Usuario.Any(a => a.Usuario_Id == 123);
    
    foreach(var item in objeto)
    {
    }


    Se a sugestão resolver o problema, favor marcar como Resposta.

    • Marcado como Resposta DET1 quarta-feira, 14 de novembro de 2012 19:44
    quarta-feira, 14 de novembro de 2012 16:19

Todas as Respostas

  • Você consegue manipular os dados através do LINQ. Para isso você pode começar a trabalhar com Entity Framework (Recomendo) ou adicionar um novo componente chamado LINQ To Sql Classes (.dbml). 

    Para o Entity Framework você deverá adicionar à sua solução o componente ADO .NET Entity Data Model. O MSDN dispõe de um guia sobre o Entity Framework aqui

    O LINQ você pode utilizá-lo para efetuar a recuperação das informações necessárias, utilizando as tabelas que estarão vinculadas ao seu Entity Framework.

    Há diversos exemplos de recuperação de dados utilizando LINQ aqui


    Se a sugestão resolver o problema, favor marcar como Resposta.

    quarta-feira, 14 de novembro de 2012 15:41
  • Obrigado pelo retorno...acho que o componente EF será um exagero para o momento, pois so quero evitar ficar validando registros através de lista, queria aproveitar uma estrutura unica...mas irei dar uma olhada. acho que outra saída seria usar um dataset. 

    quarta-feira, 14 de novembro de 2012 15:47
  • Há o LINQ To SQL Classes (.dbml), na qual pode lhe ajudar a criar essa estrutura. 


    Se a sugestão resolver o problema, favor marcar como Resposta.

    quarta-feira, 14 de novembro de 2012 15:59
  • Vc sabe me dizer, se consigo fazer isso....

    dar um select no banco vai me retornar 10 linha com 5 colunas....

    Pegar este retorno e jogar em um objeto do tipo linq, alguma coisa....estou vendo aqui, acho que o usado para este caso seria o link to object....

    ou seja, meu select com retorno jogar dento deste obj...dai faço meus tratamentos, inclusive criar uma nova coluna no objeto criado ?

    quarta-feira, 14 de novembro de 2012 16:11
  • Exemplo com Entity e Linq

    EntityCriadaParaExemplo.San2011Entities db = new EntityCriadaParaExemplo.San2011Entities();
    
    
    var objeto = db.Usuario.Any(a => a.Usuario_Id == 123);
    
    foreach(var item in objeto)
    {
    }


    Se a sugestão resolver o problema, favor marcar como Resposta.

    • Marcado como Resposta DET1 quarta-feira, 14 de novembro de 2012 19:44
    quarta-feira, 14 de novembro de 2012 16:19
  • Boa...valeu...acabei usando uma lista genérica...agora estou apanhando para executar os comandos do linq para selecionar o que eu quero....

    quarta-feira, 14 de novembro de 2012 19:42
  • Você pode fazer o acesso usando expressões Lambda, que a meu ver é mais complicado, ou pode apenas usar do modo simplificado que seria

    var objeto = from a in minhatabela
                 select a.Campo_da_Tabela;



    Se a sugestão resolver o problema, favor marcar como Resposta.

    quinta-feira, 15 de novembro de 2012 17:46
  • ok...vou dar uma fuçada...

    estou batendo cabeça para o obter o count...

    select count(*) from tabela where campo1 = "x"

    segunda-feira, 19 de novembro de 2012 11:47
  • Count com LINQ você na verdade tem que fazer um GroupBY com a chave primária de sua tabela. Depois tem que efetuar a contagem dos registros retornados. 


    Se a sugestão resolver o problema, favor marcar como Resposta.

    segunda-feira, 19 de novembro de 2012 11:51