2010-02-12 56 views
14

我對WPF和NHibernate都比較陌生,試圖構建一個將這兩者結合使用的應用程序,使用MVVM模式。然而,我正在努力理解我的應用程序何時何地打開和關閉NHibernate會話和事務。如何在WPF應用程序中對NHibernate會話和事務進行範圍

從我讀過的內容來看,建議會議應儘可能短。因此,除了明顯的線程安全考慮之外,我認爲在應用程序級別打開會話並分享它是不正確的?另一方面,我也意識到非常短的會話(在業務方法範圍內)會導致分離的實體,也阻止我利用NHibernate的延遲加載。這是設計WPF/NH應用程序的正常且不可避免的方式嗎?

不幸的是,所有優秀的代碼示例(以及我可以在這個主題上找到的唯一一本書 - NHibernate in Action)專注於ASP.NET應用程序,其中最佳實踐顯然非常清晰 - 會話和事務跨度恰好一個Http請求。因此,我將不勝感激WPF開發人員的一些指導,以幫助我理解WPF中的會話管理(理想情況下指向一些好的代碼示例)。

非常感謝,

+0

另請參閱:http://stackoverflow.com/questions/1168892/example-of-nhibernate-winform-application – 2011-09-16 12:06:40

回答

9

這是我所知道的(我相信這是考慮到用WPF寫的)最好的NHibernate的桌面應用程序示例之一:

Building a Desktop To-Do Application with NHibernate

+0

非常感謝邁克爾。正如你所說,這篇優秀的文章涵蓋了我正面臨的問題。 – 2010-02-12 16:35:50

相關問題