我已经尝试了几种方法来更新数据库中的对象。我还在这里和其他有关更新数据的论坛上阅读了几个问题。但除了一种方式,没有别的东西对我有用。
什么有效?如果我手动更新所有属性,它可以工作。像这样:
[HttpPost]
public ActionResult UpdateModel(Person person)
{
DBEntities db = new DBEntities();
var p = db.PERSON.Single( x=> x.ID == person.ID);
p.NAME = person.NAME;
p.AGE = person.AGE;
db.SaveChanges();
}
但对于具有大量属性的模型,这不是一个真正的选择。在某种程度上,我可以做一些与此类似的事情吗?
[HttpPost]
public ActionResult UpdateModel(Person person)
{
DBEntities db = new DBEntities();
var p = db.PERSON.Single( x=> x.ID == person.ID);
p = person;
db.SaveChanges();
}
我知道有很多问题与我的相似,但我只是不能让这对我有用。
答案 0 :(得分:1)
[HttpPost]
public ActionResult UpdateModel(Person person)
{
DBEntities db = new DBEntities();
var p = db.PERSON.Single( x=> x.ID == person.ID);
TryUpdateModel(p); <--here is the change i made
db.SaveChanges();
}
http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryupdatemodel.aspx