none
Consulta fazendo substring no campo RRS feed

  • Pergunta

  • Tenho uma consulta no sql e gostaria de reproduzir com Linq,

     

    select * from tbvendas where substring(venda.Gaf_NoPedido,0,4) in @pedidos
    
    

    este @pedidos são valores separados por ","...

     

    obrigado,

    quinta-feira, 8 de setembro de 2011 11:49

Respostas

  • Edilson, o IN no LINQ é feito através de uma lista aonde você irá verificar se o valor consultado existe dentro dela, por exemplo:
    List<string>lstProdutos = new List<string>();
                 lstProdutos.Add("Moto");
                 lstProdutos.Add("Sony");
    
                 var query = (from c in ex.Produto
                              where lstProdutos.Contains(c.Nome.Substring(0, 4))
                              select c).ToList();
    


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Se for útil marque como resposta e faça um Developer feliz :)
    • Marcado como Resposta Edilson quinta-feira, 8 de setembro de 2011 17:29
    quinta-feira, 8 de setembro de 2011 14:08
    Moderador

Todas as Respostas

  • Edilson, o IN no LINQ é feito através de uma lista aonde você irá verificar se o valor consultado existe dentro dela, por exemplo:
    List<string>lstProdutos = new List<string>();
                 lstProdutos.Add("Moto");
                 lstProdutos.Add("Sony");
    
                 var query = (from c in ex.Produto
                              where lstProdutos.Contains(c.Nome.Substring(0, 4))
                              select c).ToList();
    


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Se for útil marque como resposta e faça um Developer feliz :)
    • Marcado como Resposta Edilson quinta-feira, 8 de setembro de 2011 17:29
    quinta-feira, 8 de setembro de 2011 14:08
    Moderador
  • Edilson, o IN no LINQ é feito através de uma lista aonde você irá verificar se o valor consultado existe dentro dela, por exemplo:
    List<string>lstProdutos = new List<string>();
    
                 lstProdutos.Add("Moto");
    
                 lstProdutos.Add("Sony");
    
    
    
                 var query = (from c in ex.Produto
    
                              where lstProdutos.Contains(c.Nome.Substring(0, 4))
    
                              select c).ToList();
    
    


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Se for útil marque como resposta e faça um Developer feliz :)

    Opa, vc ai de novo Olavo, bom te ver!

    nossa eu faço ao contrário, pesquiso na minha lista se contem o campo da tabela?

    porque o que acontece os valores do campo venda.Gaf_NoPedido da tabela de venda, são compostos por 8 numeros, porém os 4 primeiros são para um determinada informação (empreendimento e os 4 após para torre) tosco isto mas não fui eu quem fiz.

     

    então por isto eu uso o substring, então no seu caso eu pesquiso em uma lista minha e ai faço o substring no campo do banco?

    é ao contrário do que é feito em tsql né? é isto mesmo?

     

    abraços e muito obrigado

    quinta-feira, 8 de setembro de 2011 14:20
  • de uma certa maneira você tem a impressão de que é o contrario por que o no sql a gente costuma colocar primeiro o campo a ser pesquisado e depois os valores,  mas se você tentar fazer fazer ao contrario, verá que não tem como comparar uma string com uma lista.

    Por fim,se você tiver a lista com os valores que deverão ser usados para ser filtrados, irá funcionar. é so uma questão de sintaxe de linguagem mesmo.


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Se for útil marque como resposta e faça um Developer feliz :)
    quinta-feira, 8 de setembro de 2011 15:03
    Moderador