同じ言語を話しているように、私は通常、データベースに保存するものを「モデル」と呼び、ビューでモデルとして使用するものを「ビュー モデル」と呼びます。
その中で、私はそのようなモデルを持っています:
public class Person{
// properties
}
そして、私は次のようなビューモデルを持っています:
public class PersonViewModel{
public Person Person { get; set; }
public bool OtherNeededValue1 {get; set;}
public bool OtherNeededValue2 {get; set;}
}
ビューで、モデルとして PersonViewModel を使用します。次に、コントローラーでは、アクションは次のようになります。
public ActionResult Create (PersonViewModel viewModel)
{
if (viewModel.OtherNeededValue1)
{
// do something
}
var p = new Person {
FirstName = viewModel.Person.FirstName
};
}
このようにして、不要なプロパティでモデルをクラウド化することはありませんが、MVC の豊富なバインディングを引き続き利用できます。
乾杯。