Inquiridor
somar coluna entity

Pergunta
-
Boa tarde pessoal...,
Estou com uma situação...
Preciso somar a quantidade de alguns itens..., fiz a expressão abaixo, não sei se esta correto, são ids diferentes... preciso agrupa-los para soma-los.
var resultado = from p in ctx.valores group p by p.idProduto into g select new { idProduto = g.Key, estoqueProduto = g.Sum(p => p.quantidadeProduto)};
agora preciso guardar esse valor em uma tabela, preciso colocar o resultado da soma no campo estoqueProduto .., ai como faço?
var t = new estoque { idProduto = z.idProduto, estoqueProduto = ??? , }; ctx.AddToestoque(t);
Todas as Respostas
-
Olá Marcos,
Vc vai precisar de algo como o código abaixo:
var resultado = from p in ctx.valores where p.idProduto = suaVariavel group p by p.idProduto into g select new { idProduto = g.Key, estoqueProduto = g.Sum(s => s.quantidadeProduto)}; var quantidadeProduto = resultado.First().estoqueProduto; using (SeuContexto contexto = new SeuContext()) { var t = new estoque { idProduto = z.idProduto, estoqueProduto = quantidadeProduto }; ctx.AddToestoque(t); contexto.SaveChanges(); }
[]s!Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique
Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil -
-
Olá Marcos,
Então seu IF nesse caso pode mudar a estrutura para algo como:
var resultado = from p in ctx.valores where p.idProduto = suaVariavel group p by p.idProduto into g select new { idProduto = g.Key, estoqueProduto = g.Sum(s => s.quantidadeProduto)}; int quantidadeProduto = 0; if (resultado.Count() > 0) quantidadeProduto = resultado.First().estoqueProduto; else quantidadeProduto = 0; using (SeuContexto contexto = new SeuContext()) { var t = new estoque { idProduto = z.idProduto, estoqueProduto = quantidadeProduto }; ctx.AddToestoque(t); contexto.SaveChanges(); }
[]s!Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique
Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil -
-
Olá Marcos,
Debug a aplicação e verifique o valor da propriedade InnerException da mensagem de erro. Lá estarão os detalhes sobre a sua mensagem de erro.
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique
Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil -
-
No código que vc me envio o "suaVariavel" (no where), eu posso utilizar a combo que seleciona o produto ....
idProd = Convert.ToInt32(DDLProduto.SelectedItem.Value);
e no lugar da variável eu coloco idProd..., assim ele agrupara o produto que eu selecionar.....
-
Olá Marcos,
Sim, esse é o ideal realmente. Utilizar essa variável para agrupar os dados.
Com relação ao outro erro, não tenho certeza sobre a origem dele. Essa parte onde fala sobre um Identificador Errado não faz mto sentido. O nome de alguma coluna foi alterada e não mapeada para o modelo do Entity Framework?
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique
Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil -
-
-
O valor da variável "idProd" que vc esta passando para a consulta existe na tabela?
Para testar, remova a clausula WHERE e tente retornar todos os resultados.
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique
Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil -
-
-
Olá Marcos,
Nunca utilizei. Qual recurso dessa classe lhe ajudaria?
A questão da atualização dos registros vc conseguiu resolver?
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique
Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil -
Olá Marcos,
Alguma evolução nessa thread?
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique
Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil