Nhibernate 如何将多个类映射到同一个表

Nhibernate 如何将多个类映射到同一个表,nhibernate,inheritance,fluent-nhibernate,nhibernate-mapping,Nhibernate,Inheritance,Fluent Nhibernate,Nhibernate Mapping,是否可以将两个类映射到同一个表 class Foo {} class Bar : Foo {} class Zap : Bar {} Foo和Bar在一个会话工厂中自动映射 所有3个类都在不同的会话工厂中使用Fluent映射进行映射: class FooMap : Class<Foo> {} class BarMap : Subclass<Bar> {} class ZapMap : Subclass<Zap> { public ZapMa

是否可以将两个类映射到同一个表

class Foo {}
class Bar : Foo {}
class Zap : Bar {}
Foo和Bar在一个会话工厂中自动映射

所有3个类都在不同的会话工厂中使用Fluent映射进行映射:

class FooMap :  Class<Foo> {}

class BarMap :  Subclass<Bar> {}

class ZapMap :  Subclass<Zap> {
    public ZapMap() {
          Table("Bar");
    }
}
class FooMap:class{}
类BarMap:子类{}
类ZapMap:子类{
公共ZapMap(){
表(“酒吧”);
}
}

我希望Zap映射到Bar表,而不是创建一个新表。这可能吗?

如果将条形图更改为:

class BarMap : Class<Bar> { }
类条形图:类{}
如果您的Bar表上有一个“type”列(类型为string,用于区分Bar和Zap),那么它应该可以工作


如果将BarMap更改为:

class BarMap : Class<Bar> { }
类条形图:类{}
如果您的Bar表上有一个“type”列(类型为string,用于区分Bar和Zap),那么它应该可以工作

查看页面底部关于子类的内容(您需要每个类层次结构的表)

这些有帮助吗?这些有用吗?