这个问题起初可能看起来有点奇怪,但有一个遗留项目正在以这种方式工作,我想知道是否有一种方法可以使用Fluent Nhibernate生成其hbm文档。 我们有一个父类,它不是一个抽象类。这样的东西:
[Entity("EmployeeTable")]
public class Employee
{
//Memebers of Employee
}
它有一些子类。这些子类的目的仅仅是代码重用性,你可以看到这些是一些表示一些信息的视图(Summaries)。
[Entity("EmployeeType1View")]
public class EmployeeType1:Employee
{
//Memebers of EmployeeType1
}
[Entity("EmployeeType2View")]
public class EmployeeType2:Employee
{
//Memebers of EmployeeType2
}
所以这就是问题:有没有一种方法可以告诉流利的nhibernate不要考虑这个继承层次结构,或者用另一个词来告诉它为每个类生成单独的hbm文件?
答案 0 :(得分:1)
var model = new FluentNHibernate.Automapping.AutoPersistenceModel();
// add assembly and the like to model
model.WriteMappingsTo(path);
forech(var baseclass in classesWithSubclasses)
{
var doc = new XmlDocument();
doc.Load(baseclass.getType().FullName + ".hbm.xml");
// use xpath to separate the subclassmapping in its own file
}