1

是否可以將2個類映射到同一個表?如何將NHibernate映射多個類到同一個表

class Foo {} 
class Bar : Foo {} 
class Zap : Bar {} 

Foo和Bar是流利的Nhibernate自動映射在一個會話工廠。

所有3類映射用流利的映射在不同的會話工廠:

class FooMap : Class<Foo> {} 

class BarMap : Subclass<Bar> {} 

class ZapMap : Subclass<Zap> { 
    public ZapMap() { 
      Table("Bar"); 
    } 
} 

我想刪除到被映射到酒吧桌上,而不是創建一個新的。這可能嗎?

+0

這些幫助嗎? http://www.philliphaydon.com/2011/08/fluent-nhibernate-table-inheritance-discriminators/ http://www.philliphaydon.com/2011/08/fluent-nhibernate-table-inheritance-discriminators-part- 2 / – Phill

回答

1

如果更改BarMap到:

class BarMap : Class<Bar> { } 

,你有你的吧檯上的「類型」列(字符串類型爲它酒吧的和ZAP的區分的),那麼它應該工作

看看http://fluentnhibernate.wikia.com/wiki/Fluent_mapping接近頁面底部關於子類(你想要每個類的層次結構)

相關問題