Inheritance Fluent nHibernate抽象类(非)映射问题
我有一个基类,它有两个派生类 每个派生类都有一个映射文件(它们基类有非映射文件,并且是抽象的) 每个派生类都有一个指向自身的对象(在基类中定义) 对于每个派生类,都有一个映射:Inheritance Fluent nHibernate抽象类(非)映射问题,inheritance,fluent-nhibernate,nhibernate-mapping,abstract-class,Inheritance,Fluent Nhibernate,Nhibernate Mapping,Abstract Class,我有一个基类,它有两个派生类 每个派生类都有一个映射文件(它们基类有非映射文件,并且是抽象的) 每个派生类都有一个指向自身的对象(在基类中定义) 对于每个派生类,都有一个映射: Map(x=>x.myManager, "ManagerID"); 但是Fluent无法创建SessionFactory,因为x.myManager指向一个未映射的类(基) 我不想用 派生类中的Derived1 myManager和Derived2 myManager,因为使用这些类的其他类只知道基类的属性 知道
Map(x=>x.myManager, "ManagerID");
但是Fluent无法创建SessionFactory,因为x.myManager指向一个未映射的类(基)
我不想用
派生类中的Derived1 myManager和Derived2 myManager,因为使用这些类的其他类只知道基类的属性
知道如何解决这种情况吗?您需要为基类创建一个映射:
public class BaseMap : ClassMap<Base>
{
public BaseMap()
{
References(x => x.myManager, "ManagerID");
}
}
公共类基本映射:类映射
{
公共底图()
{
引用(x=>x.myManager,“ManagerID”);
}
}
然后将其他类映射为子类:
public class Derived1Map : SubclassMap<Derived1>
{
public Derived1Map ()
{
// other mapping here...
}
}
公共类Derived1Map:子类映射
{
公共衍生1Map()
{
//这里的其他映射。。。
}
}
public class Derived1Map : SubclassMap<Derived1>
{
public Derived1Map ()
{
// other mapping here...
}
}