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会更好实体有一个层次结构来摆脱图像中的一个,但由于现有代码,这将是最后的手段。
预先感谢任何帮助,从您映射专家的好评....