【问题标题】:MVC 3 - Updating table row with EDMX modelMVC 3 - 使用 EDMX 模型更新表行
【发布时间】:2011-11-03 13:51:16
【问题描述】:

我尝试了几种方法来更新数据库中的对象。我还在这里和其他论坛上阅读了一些关于更新数据的问题。但除了一种方法外,没有其他方法对我有用。

什么有效?如果我手动更新所有属性,它就可以工作。像这样的:

[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();
}

我知道有很多与我类似的问题,但我就是不能让它为我工作。

【问题讨论】:

  • 下载书呆子晚餐应用程序并通过源代码倾倒。另外-通过将其包含在 using(DBEntities db = new DBEntities()){ .... } 中来处理您的 DBEntities()

标签: asp.net-mvc-3 entity-framework-4 edmx


【解决方案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

【讨论】:

  • 非常感谢各位。我很高兴我问了这个问题。我只花了 2 个小时查找资料。我想得太复杂了。 :)
猜你喜欢
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-29
  • 2023-04-01
  • 2016-05-15
  • 1970-01-01
相关资源
最近更新 更多