0
我正在研究一個不完美的現有數據結構,並且我要解決一個繼承映射問題。NHibernate通過外鍵將子類屬性映射到另一個對象
我正在使用每個層次結構的表,並設置了帶有鑑別符的子類。但是,子類屬性是外鍵返回到其他表。我如何設置我的子類映射,以便當我查詢fk屬性時,我得到一個對象而不是null?這甚至有可能嗎?
我目前的映射
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="MVC3" namespace="MVC3.Models">
<class name="Image" table="Images">
<id name="Id" column="ImageId">
<generator class="identity" />
</id>
<discriminator column="ImageType" />
<property name="Url" column="Url" not-null="true" />
<property name="Caption" column="Caption" />
<subclass name="AupairImage" discriminator-value="AupairImage">
<join table="Aupairs" inverse="true">
<key column="AupairId" />
<many-to-one name="Aupair" column="AupairId" class="Aupair" />
</join>
</subclass>
<subclass name="FamilyImage" discriminator-value="FamilyImage">
<join table="Families" inverse="true">
<key column="FamilyId" />
<many-to-one name="Family" column="FamilyId" class="Family" />
</join>
</subclass>
我會喜歡添加一個實體圖,但我還不能發表圖片:0(
但外鍵AupairId和FAMILYID鏈接關閉回到另外兩個表,並且是int 32的類型
我知道重建Aupair和Family會更好實體有一個層次結構來擺脫圖像中的一個,但由於現有代碼,這將是最後的手段。
預先感謝任何幫助,從您映射專家的好評....