流暢な nhibernate で継承戦略を開発しています。すべて正常に動作しますが、1 つ質問があります。サブクラスによる基本プロパティの更新を無効にする可能性はありますか?
ダミーコードは次のとおりです。
public class ObjectA
{
public virtual string StatusA { get; set; }
}
public class ObjectB : ObjectA
{
public virtual string StatusB { get; set; }
}
public class ObjectBMap : SubclassMap<ObjectB>
{
public ObjectBMap()
{
Map(x => x.StatusB);
}
}
objectB を更新しているときに、StatusA を更新したくありません。ObjectA を更新するときにステータス A を変更したいと考えています。nhibernate にはこの種の機能がありますか? 意味はありますか?
編集: 追加 の説明 私がそのようなことをしたい理由は、私のシステム (asp mvc アプリケーション) には、objectsA と objectsB を管理する 2 つの異なる場所があるためです。最初にオブジェクト A を作成し、後でオブジェクト A をオブジェクト B に「変換」します。次に、これら 2 つのオブジェクトを 2 つの異なるモジュールで編集できます。
objectB を編集するための私のフロー: -db から objectB を読み取り、viewmodel に変換します。 -ビューからフォームを投稿し、ビュー データをフォームから objectB に変換し、db で更新します。
オブジェクトAからのデータのオブジェクトBのビューモデルを拡張し、このデータをいくつかの非表示フィールドに保存して、ビューモデルから変換したくありません。
このデータを Session.SaveorUpdate(objectB) で更新できないことをマークできれば、問題は解決すると思いました。つまり、基本的にそれが私の質問でした。