今天早些时候,我将我的一个类打破为两个,将原始标记为抽象,并创建两个继承自抽象基类的子类 .
我在我的FluentNHibernate映射中添加了一行,以根据列值(table-per-class heirarchy)区分子类,如下所示:
DiscriminateSubClassesOnColumn("EntryType");
该字段是数据库中的整数 .
我的新映射继承自
SubClassMap<MyChildType>
使用MyChildTypeMap的构造函数方法中的新行作为鉴别符,如下所示:
DiscriminatorValue(1);
我一直遇到这个例外:
"Duplicate class/entity mapping MyNamespace.MyChildObject"
在Fluent NHibernate会话构建器中,(Fluently.Configure()....)我添加了一行来将映射导出到hbm文件 . 果然,子类在父类的映射文件中列出两次 .
我没有使用AutoMapped配置 . 我正在使用Fluent NHibernate 1.2.0.0我正在使用NHibernate 3.2.0.400
我最终想知道这是从哪里来的 . 有人可以帮忙吗?
1 回答
快速查看映射的构造方法是使用FluentNHibernate的诊断:
这将(在这种情况下,您也可以
OutputToFile
)流式传输一个调试日志,其中包含从哪些类创建的映射以及导致它们被添加或跳过的内容 .