fluent nhibernate 1.3(nhibernate 3.3)中抽象基类混凝土表

fluent nhibernate 1.3(nhibernate 3.3)中抽象基类混凝土表,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我刚刚从fluent nhibernate 1.1(含nhibernate 3.1)升级到FluentNhibernate 1.3(含nhibernate 3.3) 我有一个基类是抽象的继承树: public abstract class Student { string Firstname; string Lastname; } public class DayStudent : Student {} public class NightStudent : Student {} public

我刚刚从fluent nhibernate 1.1(含nhibernate 3.1)升级到FluentNhibernate 1.3(含nhibernate 3.3)

我有一个基类是抽象的继承树:

public abstract class Student {
string Firstname;
string Lastname;
}
public class DayStudent : Student {}
public class NightStudent : Student {}

public class School {
 List<Student> Students;
}
公共抽象类学生{
字符串名;
字符串Lastname;
}
公共班级学生:学生{}
公共夜班学生:学生{}
公立学校{
列出学生名单;
}
在NHibernate3.1中,我有一个表用于Student(有firstname和lastname列),另外两个表用于DayStudion和NightStudent。这是我以前用过的每一张桌子。 现在在NHibernate3.3中,当我访问学校类的学生集合时,它抛出异常“无法实例化抽象类或接口”。 我的映射以前在nhibernate 3.1中工作得很好


这个版本有什么变化?我如何修复它呢?

有点晚了,对不起,但这让我想起了我遇到的一个问题-如果你真的在列表集合中使用列表,那么你的问题可能就在那里。我似乎还记得,对于持久实体中的列表集合,必须使用IList。您仍然可以将List的实例分配给Students,只需声明IList类型的属性。希望这能有所帮助。

查看您当前的映射会有所帮助。映射是用fluent nhibernate编写的。学生类是一个类映射。DatStudent和NightStudet是子类映射(联接类)。student的id属性是什么?