所以,我坚持这种设置......假设是一个有孩子名单的班级,有两种类型的孩子:男孩和女孩。女孩
public class ClassRoster
{
public IList<Child> Children{get;set;}
}
public abstract class Child
{
public string Sex {get;}
}
pubic class Boy
: Child
{
public override string Sex { get { return "M"; } }
}
public class Girl
: Child
{
public override string Sex { get { return "F"; } }
}
(很可能,这是一个不好的例子)...当我从数据库中检索子项列表时,是否需要为集合指定鉴别器值,或者nHibernate可以使用映射我是为儿童/男孩/女孩做过吗?
我是因为当我为一个正在进行的项目做同样的事情时,我从nHibernate抛出了一个“WrongClassException”。
我觉得这还不够清楚。在我的项目中,我已经处理了可以调用数据库的映射,并将子列表拉出来,并按预期映射男孩和女孩。我要做的就是打电话给班级名单,并获得一份收集所有男孩和女孩的儿童名单。
答案 0 :(得分:0)
我相信你所寻找的是NHibernate - Inheritance Mapping
答案 1 :(得分:0)
伤害愚蠢。有一个我没有考虑的第三级,ClassRoster和学校之间的映射是问题......我必须做一对一的映射,以连接到“学校”而不是“高中” ”
如果我可以充分概括代码,我会在这里发布以供进一步参考......老实说,这是一个pebcak错误。