我想添加一個IPostLoadEventListener實現到我的NHibernate配置使用FluentNHibernate。我可以這樣做如下說明:NHibernate事件監聽器
how to add event listener via fluent nhibernate?
然而,創建一個新的陣列,以取代舊的完全丟棄任何現有的事件偵聽。我能得到周圍像這樣:
return Fluently.Configure()
.Database(config)
.Mappings(m => m.AutoMappings.Add(mappings))
.ExposeConfiguration(cfg =>
{
cfg.EventListeners.PostLoadEventListeners =
new IPostLoadEventListener[] {
new UtcDateEventListener(),
new DefaultPostLoadEventListener() // <<< this one is the default
};
cfg.EventListeners.SaveOrUpdateEventListeners =
new ISaveOrUpdateEventListener[] {
new UtcDateEventListener(),
new DefaultSaveOrUpdateEventListener() // <<< this one is the default
};
})
.BuildConfiguration()
.BuildSessionFactory();
但我只知道通過代碼加強,以確定什麼,我覆蓋默認事件偵聽器。我想添加我的事件偵聽器而不覆蓋任何現有的事件偵聽器,但是對於我來說,像我上面顯示的那樣執行此操作似乎非常臭。現有的事件監聽器被暴露爲一個數組(而不是一個集合或列表,這會更有意義)。有沒有更好的方法來處理這個問題?
但是,這是一箇舊帖子,但我在這裏找到了一個有趣的鏈接:http://codebetter.com/petervanooijen/2015/04/13/using-nhibernate -eventlisteners-to-validate-and-audit-data/ – shankbond 2017-06-08 09:48:48