Car、Bike、Skateboard オブジェクトと Person オブジェクトの間にこの関係があります。関係は Ownership テーブルに格納されます。
NHibernate でこのマッピングを作成するにはどうすればよいですか? このチュートリアルに従おうとしています: http://nhibernate.info/doc/nh/en/index.html#inheritance。どんな助けでも大歓迎です。
Car、Bike、Skateboard オブジェクトと Person オブジェクトの間にこの関係があります。関係は Ownership テーブルに格納されます。
NHibernate でこのマッピングを作成するにはどうすればよいですか? このチュートリアルに従おうとしています: http://nhibernate.info/doc/nh/en/index.html#inheritance。どんな助けでも大歓迎です。
これはオプションで、階層ごとにテーブルがあります。私が想定し :
OwnerShipId
、自動生成)BikeId, CarId
) ごとに列があり、さまざまなキーの種類と外部キーを処理できますマッピングは次のようになります。
<class lazy="false" name="Domain.OwnerShip, Domain" table="OwnerShip_Table" discriminator-value="0">
<id name="Id" column="OwnerShipId" type="System.Int32" access="property">
<generator class="identity"></generator>
</id>
<discriminator column="VehicleTypeCode" type="int"/>
<many-to-one name="Owner" column="PersonId" not-null="true" fetch="..."/>
<many-to-one name="CodeType" column="VehicleTypeCode" not-null="true" fetch="..." />
<subclass name="Domain.BikeOwnerShip, Domain" discriminator-value="1">
<many-to-one name="Bike" column="BikeId" not-null="true" fetch="..."/>
</subclass>
<subclass name="Domain.CarOwnerShip, Domain" discriminator-value="2">
<many-to-one name="Car" column="CarId" not-null="true" fetch="..."/>
</subclass>
</class>
OwnedObject
基本クラスに、マッピングされていない仮想プロパティがあると便利だと思います。
public virtual Object OwnedObject{
get{return null;}
}
クラスではCarOwnership
、OwnedObject 実装は次のようになります。
public override Object OwnedObject{
get{return this.Car;}
}
これが役立つことを願っています