问题描述
||
class FooBase{...}
class FooDerived : FooBase {...}
class BaseContainer
{
public virtual FooBase Foo {get;set;}
}
class DerivedContainer : BaseContainer
{
public virtual new FooDerived Foo {get;set;}
}
休眠映射选项
下面的选项1
无法在NHibernate的a / c上持续存在,无法在xml中生成其他成员声明(索引超出范围错误)
<class name=\"BaseContainer\" discriminator-value=\"0\">
<discriminator column=\"ContainerType\" type=\"int\" />
<many-to-one name=\"Foo\"
foreign-key=\"...\"
class=\"FooBase\"
column=\"FooId\"
unique=\"true\"/>
<subclass name=\"DerivedContainer\" discriminator-value=\"1\">
<many-to-one name=\"Foo\"
foreign-key=\"...\"
class=\"FooDerived\"
column=\"FooId\"
unique=\"true\"/>
</subclass>
</class>
选项2独立映射!
提取操作错误,不区分类型
<class name=\"BaseContainer\" discriminator-value=\"0\">
<discriminator column=\"ContainerType\" type=\"int\" />
<many-to-one name=\"Foo\"
foreign-key=\"...\"
class=\"FooBase\"
column=\"FooId\"
unique=\"true\"/>
</class>
<class name=\"DerivedContainer\" discriminator-value=\"1\">
<many-to-one name=\"Foo\"
foreign-key=\"...\"
class=\"FooDerived\"
column=\"FooId\"
unique=\"true\"/>
</class>
卡住,将不胜感激任何指针,尽管我知道如果通过每个子类的表完成此操作很容易,但是可以通过每个类层次结构的表来实现上述任何方法
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)