none
Diferente != no LinQ RRS feed

  • Pergunta

  • Oi pessoal, 

    Estou tentando fazer um select onde o campo status tem q ser diferente de "C" e "F".

    sql: select * from tbl where status <> "C" and status <> "F"

    Como faço esse select acima em LinQ?

    quinta-feira, 22 de dezembro de 2011 15:02

Respostas

  • O problema não esta no operador de diferente.

    O problema acredito que esteja no "ToString()" que vc usa no filtro logo acima.

    Que tipo de dados são esses que vc esta comparando?

    tente executar assim e veja se funciona:

    var query = (from f in this.DataContext.tbl_solicitacoes
    
                                 where f.status != "C" && f.status != "F"
    
                                 select f).FirstOrDefault();


    Me diga qual o tipo de dados de sua variável Item que eu lhe ajudo a reconstruir o restante da query.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    quinta-feira, 22 de dezembro de 2011 15:22
    Moderador

Todas as Respostas

  • Veja este exemplo:

    List<string> letras = new List<string>();
    
    letras.Add("C");
    letras.Add("F");
    letras.Add("G");
    letras.Add("H");
    letras.Add("J");
    letras.Add("A");
    
    var query = from l in letras
                where l != "C" && l != "F"
                select l;
    

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    quinta-feira, 22 de dezembro de 2011 15:13
    Moderador
  • OI fernando tentei dessa forma tbm ja mas ainda nao deu certo.

    var query = (from f in this.DataContext.tbl_solicitacoes

                                 where f.nivel.Equals(item.Trim().ToString())

                                 && f.status != "C" && f.status != "F"

                                 select f).FirstOrDefault();

     

    o erro q esta dando é esse:

    LINQ to Entities não reconhece o método 'System.String ToString()', que não pode ser convertido em uma expressão de armazenamento.

     

    Ainda nao consegui fazer a diferença tem alguma ideia pra esse meu select acima?

    quinta-feira, 22 de dezembro de 2011 15:19
  • O problema não esta no operador de diferente.

    O problema acredito que esteja no "ToString()" que vc usa no filtro logo acima.

    Que tipo de dados são esses que vc esta comparando?

    tente executar assim e veja se funciona:

    var query = (from f in this.DataContext.tbl_solicitacoes
    
                                 where f.status != "C" && f.status != "F"
    
                                 select f).FirstOrDefault();


    Me diga qual o tipo de dados de sua variável Item que eu lhe ajudo a reconstruir o restante da query.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    quinta-feira, 22 de dezembro de 2011 15:22
    Moderador
  • Tente algo deste tipo:

     

    var query = from tb in bd.tabela where tb.status != "C" && tb.status != "F" select c;
    


     


    • Editado lsousa quinta-feira, 22 de dezembro de 2011 17:35
    quinta-feira, 22 de dezembro de 2011 17:32
  • Fabio,

     

    Qual o tipo (string, class) do atributo "status"? No banco de dados a coluna é not null = true?

    Tenta fazer a query com lamda.

    var results = this.DataContext.tbl_solicitacoes.where(n => !(n.Status == "C" || n.Status = "F")).ToList();

    Adicionar o namespace "using System.Linq;".

    Att,

    Eduardo Miano




    • Editado Eduardo Miano quinta-feira, 22 de dezembro de 2011 19:50
    quinta-feira, 22 de dezembro de 2011 19:48
  • Alguma evolução Fabio?

     

    []s!
    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique
    sexta-feira, 13 de janeiro de 2012 11:07
    Moderador