¿Cómo actualizar EF 4 Entity en ASP.NET MVC 3?
Tengo 2 proyectos: una biblioteca de clase que contiene un modelo EDM Entity Framework y un proyecto separado de ASP.NET MVC.
Tengo problemas con la forma en que supone editar y guardar los cambios en una entidad que utiliza MVC. En mi controlador tengo:
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);
}
}
MiUserRepository
tiene un método de actualización 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();
}
}
Ahora, cuando hago clic en 'Guardar' en la página de edición de usuario, el parámetrouser
solo contiene dos valores rellenados: Id y Nombre. Supongo que se debe al hecho de que solo estoy mostrando esas dos propiedades en la vista.
Mi pregunta es esta: si estoy actualizando el nombre del usuario y luego quiero guardarlo, ¿qué se supone que debo hacer con el otro?User
propiedades que no se mostraban en la vista, ya que ahora contienen valores 0 o NULL enuser
¿objeto?
He estado leyendo mucho sobre el uso de entidades de código auxiliar, pero no estoy llegando a ninguna parte rápidamente, ya que ninguno de los ejemplos que he visto realmente funciona. es decir, sigo recibiendo excepciones relacionadas con EntityKey.
¿Alguien puede señalarme un buen tutorial / ejemplo de cómo actualizar entidades EF 4 usando una clase de repositorio, llamada por un front-end MVC?