所以,我坚持这个设置......假设是一个有孩子名单的班级,并且有两种类型的孩子:男孩和女孩
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 可以使用我为 Child 完成的映射/男孩/女孩已经?
我之所以这么说,是因为当我为我正在从事的项目做类似的事情时,我得到了从 nHibernate 抛出的“WrongClassException”。
我觉得这还不够清楚。在我的项目中,我已经处理了映射,我可以调用到数据库中,并拉出一个孩子列表,它会按预期映射男孩和女孩。我正在尝试做的是调用班级名册,并获取包含所有男孩和女孩的儿童名单。