Como atualizar a entidade EF 4 no asp.net MVC 3?
Eu tenho 2 projetos - uma biblioteca de classes que contém um modelo do EDM Entity Framework e um projeto separado do ASP.NET MVC.
Estou tendo problemas com a forma como você supõe editar e salvar alterações em uma entidade usando o MVC. No meu controlador eu tenho:
public class UserController : Controller
{
public ActionResult Edit(int id)
{
var rep = new UserRepository();
var user = rep.GetById(id);
return View(user);
}
[HttpPost]
public ActionResult Edit(User user)
{
var rep = new UserRepository();
rep.Update(user);
return View(user);
}
}
MinhasUserRepository
tem um método de atualização como este:
public void Update(User user)
{
using (var context = new PDS_FMPEntities())
{
context.Users.Attach(testUser);
context.ObjectStateManager.ChangeObjectState(testUser, EntityState.Modified);
context.SaveChanges();
}
}
Agora, quando clico em "Salvar" na página de edição do usuário, o parâmetrouser
contém apenas dois valores preenchidos: Id e Nome. Presumo que isso se deva ao fato de eu apenas exibir essas duas propriedades na exibição.
Minha pergunta é: se estou atualizando o primeiro nome do usuário e depois quiser salvá-lo, o que devo fazer com o outroUser
propriedades que não foram mostradas na exibição, já que agora contêm valores 0 ou NULL nouser
objeto?
Eu tenho lido muito sobre o uso de entidades stub, mas não estou chegando a lugar algum rápido, pois nenhum dos exemplos que eu vi realmente funciona. ou seja, continuo recebendo exceções relacionadas ao EntityKey.
Alguém pode me indicar um bom tutorial / exemplo de como atualizar entidades EF 4 usando uma classe de repositório, chamada por um front-end do MVC?