NHibernate在C#应用程序中,如何管理会话

G.M*_*uni 5 c# nhibernate winforms

我是NHibernate的新手,我开始构建一个简单的C#Windows窗体应用程序,该程序将一些XLS文件导入数据库(SQL2008),详细处理数据,然后导出CSV文件。我尝试搜索一些示例来说明如何使用和管理NHibernate会话。其中一些对于Web应用程序很有用。我已经看到,在MVC应用程序中,NHibernate会话是在Application Start上创建的,但是我不知道何时必须在Windows Form Application中创建NHibernate会话。

有人可以帮助我吗?谢谢!

UpT*_*eek 0

首先,我不会推荐 NHibernate 用于这种情况 - 导入/导出和多个数据存储并不是真正的事情。

也就是说... Web 应用程序通常为每个页面请求创建 NHibernate Session(例如,在 Session Start 事件中,或作为操作过滤器)。不过,会话工厂通常是在应用程序启动时创建的。

对于 Windows 窗体应用程序,您可能需要查看“工作单元”模式。您的会话可能希望遵循此操作。