Wil*_*ler 0 nhibernate interface nhibernate-mapping table-per-hierarchy discriminator
我有一个接口和一个实现此接口的类.
public interface IPhase {
string Description { get; set; }
int Id { get; }
string Phase { get; set; }
}
public class Phase : IPhase {
// Implementation here...
}
Run Code Online (Sandbox Code Playgroud)
现在,使用NHibernate 2.1.2.GA,我希望使用table-per-class-hierarchy来映射接口及其实现者,实际上,我不需要一个鉴别器,因为这个实现者将是唯一的类持久化在这张表中.我现在还没有使用NHibernate大约一年半,我在这里遇到了一些内存空白......
我已经阅读了这个问题和相关的答案,除了我没有使用FNH.
NHibernate映射:将层次结构保存到单个表而不带鉴别器
我想知道这个discriminator属性在使用时是否是强制性的subclass?
在这个特定的上下文中,我的XML映射会是什么样子?
谢谢你的帮助!
当然NHibernate需要一个用于每个类层次表映射的鉴别器,当从数据库获取一行时,它应该如何识别不同的子类呢?
如果只有一个接口实现,为什么要映射它?只需将该类映射为普通实体(无继承).
编辑:忘记您可能在映射中引用了该接口.在这种情况下,你可以尝试一个table-per-concrete-class映射标记基类(接口),abstract="true"如下所述:http://nhibernate.info/doc/nh/en/index.html#inheritance-tableperconcrete