我有一個包含多個模式的數據庫:安全性,交易等。 每個shema都有多個表。 IE瀏覽器。安全模式有:用戶,角色等。如何在nhibernate中爲名稱空間設置數據庫模式
現在,我可以設置nhibernate,以便我綁定到名稱空間的模式。 也就是說。我的項目中有一個安全命名空間,其中包含用戶和角色POCO。 所以我不會將綁定數據庫模式設置爲命名空間。 我知道我可以在每個類的映射文件中添加Schema,但是如果我有ie。 1000類我必須爲每個類指定模式。
請幫忙。
我有一個包含多個模式的數據庫:安全性,交易等。 每個shema都有多個表。 IE瀏覽器。安全模式有:用戶,角色等。如何在nhibernate中爲名稱空間設置數據庫模式
現在,我可以設置nhibernate,以便我綁定到名稱空間的模式。 也就是說。我的項目中有一個安全命名空間,其中包含用戶和角色POCO。 所以我不會將綁定數據庫模式設置爲命名空間。 我知道我可以在每個類的映射文件中添加Schema,但是如果我有ie。 1000類我必須爲每個類指定模式。
請幫忙。
,你可以做你想做的編程創建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();
注意,通常你只在建立自己的會話工廠一次,以便對性能的影響(如果有的話)只發生一次。
NHibernate不會神奇地做到這一點。如果您想避免手動更改映射文件,請使用基於代碼的解決方案(如ConfORM或FluentNHibernate)。