このクラス構造を想像してみましょう:
abstract class A {}
class B:A {}
class C:A {}
class D:A {}
class Entity
{
A PropertyA { get; set; }
}
エンティティは nhibernate でマップされ、PropertyAは永続化されます。
私の質問は: PropertyAをある種の ID を持つデータベース列に格納することは可能ですか? 例えば:
- PropertyA が B の場合、データベース ストア property-b に
- PropertyA が C の場合、データベース ストアに property-c
- PropertyA が D の場合、データベース ストアに property-d
また、データベースにクエリを実行してエンティティを作成すると、データベース列の値に応じて、PropertyA を B/C/D に初期化したいと考えています。出来ますか?