Como atualizar uma entidade através foreach?
Olá Pessoal,
Trabalho com ASP.NET MVC 3 e ASP.NET MVC 4 + RAZOR + SQL SERVER.
Vou tentar ser o mais objetivo possível para facilitar a interpretação de minha questão.
É o seguinte, estou tentando fazer um loop em uma tabela que contém um histórico e assim atualizar algumas de suas propriedades. O problema é que não atualiza. O que eu estaria fazendo de errado? Vejam abaixo o código:
var dtSearch = \\ aqui vai uma data qualquer como parâmetro
decimal saldoAnt = 100;
int ccId = 1;
var lista = _db.Historico.Where(a => a.Cc == ccId
&& (a.DataMov >= dtSearch)).OrderBy(b=> b.Cc).ThenBy(b => b.DataMov).ThenBy(b=>b.Id).ToList();
// Lê e atualiza o movimento
foreach (var item in lista)
item.SaldoAnt = saldoAnt;
item.SaldoAtual = saldoAnt + item.VlrMov;
_db.Entry(item).State = EntityState.Modified;
saldoAnt = saldoAnt + item.VlrMov;
{
_db.SaveChanges();
// Atualiza a Cc com o último saldo do loop
var cc = _db.CC.First(j => j.Id == ccId);
if (cc != null)
{
cc.SaldoAtual = saldoAnt; // aqui é a variável que deveria estar com o último valor foreach
_db.Entry(cc).State = EntityState.Modified;
_db.SaveChanges();
}
Conto com ajuda dos colegas.
Forte abraços
Discussão (6)
Carregando comentários...