かすの取扱についてのデザインモデルの結合が複合型が関与しているか?
-
16-09-2019 - |
質問
していきたいと考えてモデルの結合がってajaxの通話から思っている。を使用してい jqueryのajax への通話、例えばこれが私のコントローラー方式を呼びたいからajax:
public ActionResult Create(Person personToCreate) {
//Create person here
}
ご覧のとおり、このメソッドに モデルの結合.この方法は多くクリーナー...しかし、この場合、ajaxによる通話中に電話帳を確認通話中にで供給すべての変数が非nullました。
でなければならないテーブルと呼ばれ Person
この変数:
firstName varchar(25) not-null
lastName varchar(25) not-null
myPet int not-null <-- This is a foreign key
その後、企業の枠組みのクラス Person
, 作成された、と同様になるでしょう:
public class Person {
public string firstName { get; set; }
public string lastName { get; set; }
public Pet myPet { get; set; }
}
以降の変数にはnullを取ることができます(指定されたDB)このajax通話を提供する必要があ string firstName
, string lastName
, Pet myPet
.ですが、javascriptでは、ペット...
そして二つのオプション(がん):
きmyPetするnullのDB
"を作成してお世辞"クラスを代表する人を必要としない、ペットオブジェクト...
ie:
public class SimplePerson {
public string firstName { get; set; }
public string lastName { get; set; }
public string myPetName { get; set; }
}
このオプションされているようで奇をてを変更DB...オーディオビジュアルについてで過ごしたい人にはお勧めできっこな...
このオプションはたくさん持っているんですが授業での豊富なる文書を複製の授業をそれぞれを避けるこ---また30の授業は、どちらかというと30の重複授業かけを可能にするために、モデルに結合する。
誰でもできるので思い切りオプション、または理由か一つのオプションはより豊かになれるのですか?
解決
ここでの本当のトリックは、実際のモデルクラスからビューモデルクラスを分離することです。ビューモデルクラスは少し単純になる傾向があり、あなたは彼らと本当のものを実行する前に戻って、実際のモデルクラスにそれらをマッピングする必要があります。 AutoMapperようなツールは、しかし、このほとんどのスナップを作ります。