2009-04-22 48 views

回答

1

想象一下AD支持的成員資格模型,它也將信息存儲在SQL中。當創建用戶時,您可能希望能夠在AD和SQL中創建用戶。生命週期事件讓你有機會截獲某些事件,如創建更新等,讓你做一些事情。

+0

這個在線的任何例子? NHibernate是否爲你接線這個事件做了部分工作?這與您如何解決EF中的相同問題有何不同? +1 – BuddyJoe 2009-04-22 12:25:49

0

NHibernate有一個事件系統,當NHibernate對你的實體做某事時,你會得到事件(實際上是回調函數)。回調可以在會話中註冊,或者只是使用接口在實體中實現。

這種回調的用法有很多,它對於一個項目可能是至關重要的。許多人正在使用這些回調書寫審計日誌。或者只是更新一些未存儲在數據庫中的屬性。 Ayende可能意味着「從其他位置獲取數據」。

我不知道實體框架是否有生命週期回調。 NHibernate是非常非常非常可擴展的,你可以將自定義代碼綁定到幾乎每個部分。通常我懷疑實體框架是可擴展的。