Usuário com melhor resposta
Problema ao alterar um produto com foto

Pergunta
-
ola, boa noite galera do MSDN
to com problema ao querer alterar um produto com foto, eu salvo a foto no bd como string, quando eu altero posso passa uma foto diferente, que da a mensagem de ERRORMESSAGE que passei no requerid, pra editar o produto eu tenho essa ActionResult, ah pra criar o produto eu faço dessa maneira tbm
[HttpPost] public ActionResult ProdutoEditar(Produto produto) { var image = WebImage.GetImageFromRequest(); if (image != null) { var filename = Path.GetFileName(image.FileName); var path = Path.Combine(Server.MapPath("~/content/produtos/"), filename); image.Save(path); produto.foto = filename; } if (ModelState.IsValid) { var prod = new ProdutoDAO(); prod.Alterar(produto); prod.SalvarAlteracao(); return RedirectToAction("Produtos"); } var subcategorias = (new SubCategoriaDAO()).GetAll(); ViewBag.SubCategorias = subcategorias; var produtos = (new ProdutoDAO()).GetAll(); ViewBag.Produtos = produtos; return View(produto); }
Respostas
-
Esse problema ocorre porque na hora que você recupera o objeto no banco, ele vem com o ID preenchido (o id é igual à sua pk).
Esse problema geralmente acontece quando se usa o NHibernate, pois ele salva em um 'cache' esse dado.
Para resolver isso, tenta recuperar o objeto que você vai alterar, e a partir desse objeto, crie outra instância e passa todos os valores, inclusive o ID e tente salvar.
entendeu?
Atenciosamente,
Ari Thomazini. Graduado em Ciência da Computação. ITIL V3 Certified Scrum Master Certified MCPD
- Sugerido como Resposta Ari Thomazini terça-feira, 11 de setembro de 2012 18:05
- Marcado como Resposta welington jrModerator terça-feira, 6 de março de 2018 15:43
Todas as Respostas
-
-
Esse problema ocorre porque na hora que você recupera o objeto no banco, ele vem com o ID preenchido (o id é igual à sua pk).
Esse problema geralmente acontece quando se usa o NHibernate, pois ele salva em um 'cache' esse dado.
Para resolver isso, tenta recuperar o objeto que você vai alterar, e a partir desse objeto, crie outra instância e passa todos os valores, inclusive o ID e tente salvar.
entendeu?
Atenciosamente,
Ari Thomazini. Graduado em Ciência da Computação. ITIL V3 Certified Scrum Master Certified MCPD
- Sugerido como Resposta Ari Thomazini terça-feira, 11 de setembro de 2012 18:05
- Marcado como Resposta welington jrModerator terça-feira, 6 de março de 2018 15:43