0
可能是一个愚蠢的问题,但我有许多实体都从基础实体继承。基本实体在数据库中没有表格。每个实体都有自己的表格,表格定义完全相同。代码的极简化示例如下。流利的NHibernate/NHibernate继承问题
public abstract class BaseEntity
{
public virtual string someProperty {get; set;}
}
public class Entity1 : BaseEntity{}
public class Entity2 : BaseEntity{}
public class CompletelyDifferentEntity
{
public virtual IList<BaseEntity> {get; set;}
}
我创建了实体的映射。在我的其他领域类中,如果我引用具体类一切正常,但如果我将其他类更改为引用BaseEntity,而我得到一个映射异常,因为BaseEntity未映射。这是我应该使用子类鉴别器的东西吗?我想我没有看到正确的方法来做到这一点,如果基地没有关联的表和子类没有一个特定的列在表定义之间不同。
我会更多地研究一下每个具体表的映射。不幸的是,改变数据库方案将不起作用,因为有几个预先存在的系统依赖于现有的模式。 – 2009-08-07 12:49:12