Caros, estou com dúvida nos Exercícios 4 e 5 da aula 7.
No momento da salvar a venda no banco o EF libera um erro dizendo que "Um objeto de entidade não pode ser referenciado por várias instâncias de IEntityChangeTracker
"
Link da Exception:
http://imageshack.com/a/img540/5877/TzgwF1.jpg
Segue o código da vendaDAO:
public void Adiciona(Venda venda)
{
foreach (Produto produto in venda.Produtos)
{
contexto.Produtos.Attach(produto);
}
contexto.Vendas.Add(venda);
contexto.SaveChanges();
}
Segue código controller:
public ActionResult CompletaPedido(int usuarioId)
{
// use o usuariosDAO para buscar o usuario de id usuarioId
UsuariosDAO udao = new UsuariosDAO();
Usuario usuario = udao.BuscaPorId(usuarioId);
Venda venda = this.Carrinho.CriaVenda(usuario);
// utilize o dao para gravar a venda no banco de dados
VendasDAO vdao = new VendasDAO();
vdao.Adiciona(venda);
this.Carrinho = new Carrinho();
return RedirectToAction("Index");
}