none
Somar Valores com Linq RRS feed

  • Pergunta

  • Amigos bom dia! Tenho uma tabela com os seguintes dados:

    Ex.: 

    Id   |     Nome       |   Quantidade

    1      |   Produto 1    |    100

    2      |   Produto 2    |    50

    2      |   Produto 2    |    100

    1      |   Produto 1    |    200

    Meu objetivo é apresentar numa ListView a soma por produtos que foram inseridos no estoque. Estou trabalhando com Code First, EF6 e Repositório Genérico. Tenho um Método GetAll() que me retorna todos os dados. Quando apresento na ListView os resultado é igual a tabela acima. Eu quero como resultado na ListView:

    Id   |     Nome       |   Quantidade

    1      |   Produto 1    |    300

    2      |   Produto 2    |    150

    Já tentei Expressões Lambda, Linq, todos utilizando Distinct(), Sum(), First(), mas o resultado sempre é a lista completa.

    Alguém poderia me ajudar com isso?

    Desde já agradeço.

    domingo, 19 de novembro de 2017 09:09

Todas as Respostas

  • var dados = repositorio.GetAll()
                .GroupBy(g => g.Id)
                .Select(s => new {
                    Nome = s.Nome, 
                    Quantidade = s.Sum(c => c.Quantidade)
                });
    Isto deve ser o bastante. Qualquer coisa poste como ficou o código em seu projeto e qualquer mensagem de erro.

    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    domingo, 19 de novembro de 2017 17:07