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/examining-the-edit-methods-and-edit-view

于 2013-10-17T19:45:34.123 に答える