我試圖在http://codeinsanity.com通過引導線NCommon和NH到多個數據庫(見「配置NCommon多數據庫支持」),並通過流暢的方法工作的建議,如下:NCommon +流利的NHibernate +多數據庫?
var configuration = NCommon.Configure.Using(adapter).ConfigureState<DefaultStateConfiguration>();
configuration.ConfigureData<NHConfiguration>(config => config.WithSessionFactory(() => _sessionFactories[0]).WithSessionFactory(() => _sessionFactories[1]));
該作品不出所料,但你可以看到sessionFactories是硬編碼的。我真正想要做的是這樣的:
foreach(ISessionFactory sessionFactory in _sessionFactories)
{
configuration.ConfigureData<NHConfiguration>(config => config.WithSessionFactory(() => sessionFactory));
}
但是,這將引發以下異常:
組件NCommon.Data.NHibernate.NHUnitOfWorkFactory無法註冊。已經有一個名稱的組件。你想修改現有的組件嗎?如果不是,請確保指定一個唯一的名稱。
我希望有一個正確的方法來連接n-SessionFactories而不用硬編碼它們 - 但我只是沒有看到解決方案。有什麼建議?