20 を超えるプロパティを持つモデルがあるとします。
それらの一部はユーザーがビューで編集できますが、セキュリティ上の理由から、パスワードなどのデータは隠しフィールドに保持されないため、ビューモデルをコントローラーに投稿すると、一部のプロパティが null になります
あまり多くのコードを書かずにどのプロパティが変更されたかを確認する方法は?
悪いアイデア:
[HttpPost]
public ActionResult Edit(BigModel model)
{
BigModel old=db.Get(new.id);
if(model.Property1 !=null && old.Property1 != model.Property1) old.Property1=model.Property1
if(model.Property2 !=null && old.Property2 != model.Property2) old.Property2=model.Property2
if(model.Property3 !=null && old.Property3 != model.Property3) old.Property2=model.Property2
...
if(model.Property20 !=null && old.Property20 != model.Property20) old.Property20=model.Property20
}