none
Where em linq to sql RRS feed

  • Pergunta

  • Olá, estou tentando fazer uma consulta mas eu obtenho um erro dizendo que o valor decimal não pode ser convertido pois está nulo.

    o código é mais ou menos assim:

    var query = (from A in entity.Servico

        group A by A.Id into G

        select new {

    PrecoTotal = g.Sum(o=> 0.Preco),

    ValorNaoPago = g.Where(o=> o.Status == false).Sum(o=>o.Preco),

    ValorRecebido = g.Where(o=>o.Status == true).Sum(o=>o.Preco)}).ToList();

    quinta-feira, 9 de maio de 2013 20:02

Todas as Respostas

  • Eduardo,

    Tente validar a propriedade preço se é nula, antes de somar.

    Exemplo:
    g.Sum(o=> o.Preco ?? 0)


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    segunda-feira, 13 de maio de 2013 11:19
  • Solução pro decimal nullable:

    .Sum(o => o.Preco ?? 0)

    Obs: Se você tem uma propriedade boleana, então não há necessidade de colocar: "o.Status == false", você pode usar o.Status e !o.Status.

    Obs 2: no seu código ta: g.Sum(o => 0.Preco) - Letra o e 0

    Obs 3: g.Where(o=>o.Status == true).Sum(o=>o.Preco)}).ToList();


    segunda-feira, 13 de maio de 2013 12:15