2010-07-01 16 views
0

我有一個包含多個模式的數據庫:安全性,交易等。 每個shema都有多個表。 IE瀏覽器。安全模式有:用戶,角色等。如何在nhibernate中爲名稱空間設置數據庫模式

現在,我可以設置nhibernate,以便我綁定到名稱空間的模式。 也就是說。我的項目中有一個安全命名空間,其中包含用戶和角色POCO。 所以我不會將綁定數據庫模式設置爲命名空間。 我知道我可以在每個類的映射文件中添加Schema,但是如果我有ie。 1000類我必須爲每個類指定模式。

請幫忙。

回答

1

,你可以做你想做的編程創建SessionFactory的權利之前是這樣的:

var cfg = new Configuration().Configure(); 
foreach (var pc in cfg.ClassMappings) 
{//just an example 
    pc.Table.Schema = pc.MappedClass.Assembly.GetName().FullName.Substring(0, 3); 
} 
var sessionFactory = cfg.BuildSessionFactory(); 

注意,通常你只在建立自己的會話工廠一次,以便對性能的影響(如果有的話)只發生一次。

0

NHibernate不會神奇地做到這一點。如果您想避免手動更改映射文件,請使用基於代碼的解決方案(如ConfORM或FluentNHibernate)。

相關問題