0
我想在項目中使用NHibernate。我的所有域表都包含一個'CreatedBy'字段,它是Users表的外鍵。由於這是一個ASP.NET應用程序,我保存時關於用戶的唯一信息就是來自cookie的用戶名。NHibernate的 - 從用戶名保存創建者的用戶ID
獲取用戶ID並將其保存到域表的CreatedBy字段中的最佳方法是什麼?
例如,在應用程序中編寫代碼以便從用戶名中加載用戶,並在保存之前將其UserId屬性粘貼到域對象的CreatedBy屬性中會很簡單。然而,這將是笨拙的(我必須記住,只要堅持一個新創建的域對象就可以做到這一點),並且還會涉及到數據庫的兩次命中,我寧願避免這種命中。
什麼是最簡單和最優雅的方式來做到這一點?
感謝
大衛
是的,它看起來好像是這個選項,或者使用映射文件中的元素來調用一個存儲過程。謝謝 –
David
2010-07-12 13:18:48
David,我會推薦攔截器方法,並讓所有適用的實體實現一個通用接口 - 這可能是最可用的DRY方法。我們爲此做了諸如IHaveCreationDate,IHaveLastModifiedDate等等。 – DanP 2010-07-12 13:25:13