ASP.Net MVC4 EF模型更新

时间:2013-10-17 19:23:59

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

这是一个简单的问题:

基本上,当POST向Controller Action提交更新操作的域模型时,我会 - 在Action内部 - 调用.Find()然后将值赋给此检索对象的相应字段,然后调用SaveChanges()

现在这很好,除非我的课程有几十个更新的字段。我想知道是否有更短的方法而不是枚举方法中的每个字段?

感谢。

2 个答案:

答案 0 :(得分:0)

如果您将整个域模型传递给视图,则可以使用它来保存它:

[HttpPost]
public ActionResult Edit(MyDomainModel model) {
    db.Entry(model).State = EntityState.Modified;
    db.SaveChanges();

    return ....;
}

如果您使用的是视图模型,则可以使用AutoMapper将视图模型映射到域模型更简单。

答案 1 :(得分:0)

也许我没有正确地回答这个问题。但是,如果您的视图传递了更新的域模型,为什么不使用EF进行更新而不是映射呢?

http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-methods-and-edit-view