POCO クラスにコンストラクターまたはその他の非データベース アクセス メソッドを使用しても問題ありませんか。たとえば、ビューモデルをコントローラーに渡すとき。
コントローラ:
public ActionResult SomeMethod(SomeViewModel model)
{
var entity = new SomePocoClasse(model);
// ... then save entity to database
return SomeActionResult
}
実在物:
public SomeClass() {}
public SomeClass(SomeViewModel model)
{
// create itself based on values in model
}
public void Update(SomeViewModel model)
{
// Update itself base on values in model
}
最初のエンティティ コンストラクタは、エンティティ フレームワークまたは通常の作成用です。
var entity = new entity
{
// set up properties
};
2 つ目は、SomeViewModel からの作成用です。
var entity = new entity(SomeViewModel);
メソッドは SomeViewModel から自分自身を更新するためのものです
var entity = SomeIRepository.Get(id);
entity.Update(SomeViewModel);
または、他の場所に行くべき上記の悪い習慣です。