none
Entity framework seleção de campo contido em faixa de valores RRS feed

  • Pergunta

  • Boa noite pessoal,

    Tentei e pensei várias formas de resolver uma seleção a meu ver simples com EF mas não consegui... por isso preciso de uma luz.

    Em resumo tenho os seguintes campos na tela do relatório:

    chkListarAtivos e chkListarInativos... sendo que é possível selecionar os 2 ou apenas 1 dos valores.

    Quero fazer uma seleção dos registros em que o campo ativo (no DB é numérico... 0 ou 1) que estejam dentre os valores selecionados.

    Minha seleção é a seguinte:

    var clientes = from c in ctx.Cliente
                      join e in ctx.Cidade on c.idCidade equals e.idCidade
                      where e.uf.Equals(estado)
                      orderby c.nome
                      select new { c.codigo, c.nome, c.telefone, cidade = e.nome, e.uf };
    

    Tentei fazer testes como o abaixo:

    chkAtivo.Checked ? c.ativo == 1 : c.ativo == 0
    
    Mas o estranho é que o resultado da consulta sempre cai no ELSE... ou seja c.ativo == 0

    Outra coisa que tentei foi montar uma string com os valores possíveis e testar o campo ativo:

    string situacao = "01";

    E na consulta colocar isso, que apesar de compilar dá erro que o método ToString() não é reconhecido:

    situacao.Contains(c.ativo.ToString())
    

    Alguém teria uma sugestão para me dar?

     


    Wagner Samuel de Oliveira
    WSO Software
    www.wso.com.br
    domingo, 24 de julho de 2011 00:19

Respostas

  • Ola Wagner,

    se eu entendi vc tem uma lista de checkbox e quer retornar uma consulta com os registros selecionados ?

    vc deve armazenar o codigo do cliente nessa checkbox correto (digamos se for ASP.NET na propriedade CommandArgument)

    primeiramente vc faria uma consulta na lista de ckbox trazendo os codigos selecionandos:

     

    var selecionados = from checkbox in listadecheckBox
                               where checkbox.Checked
                               select (int)checkBox.CommandArgument;

     

    ai vc vai ter uma lista de ids para pesquisar no banco...

    sábado, 6 de agosto de 2011 23:40
    Moderador

Todas as Respostas