0

这是一个简单的问题:

基本上,当 POST 提交域模型以对控制器动作进行更新操作时,我会在动作内部调用 .Find(),然后将值分配给这个检索到的对象的相应字段,然后调用 SaveChanges()。

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

谢谢。

4

2 回答 2

0

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

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

    return ....;
}

例如,如果您正在使用视图模型,您可以使用AutoMapper将视图模型映射到域模型,这样会更简单一些。

于 2013-10-17T19:44:06.663 回答
0

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

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

于 2013-10-17T19:45:34.123 回答