c# - NHibernate session 管理建议

标签 c# winforms nhibernate session unitofworkapplication

我需要一些有关 C# WinForms 应用程序的 NHibernate session 管理的建议。

我目前正在移植一个应用程序以使用 NHibernate。我还在使用下面链接中描述的 UnitOfWork 模式;

http://nhforge.org/wikis/patternsandpractices/nhibernate-and-the-unit-of-work-pattern.aspx

我的问题与 session 有关。

  1. 您能否始终让每个线程运行一个 session ?

  2. 我有一个场景,其中 session (UnitOfWork) 可能为应用程序显示的表单打开,但用户打开另一个表单(即工具 - 选项),我希望它有自己的 UnitOfWork。显然,在这种情况下,为“工具 - 选项”表单打开另一个 session 而不是将当前打开的 session 用于基础表单会更有意义。

  3. 我们可以在一个线程上创建 session 字典吗?

如有任何关于 session 管理的建议,我们将不胜感激。

最佳答案

+1 杰伊所说的话。我还建议阅读 Oren Eini 关于 使用 NHibernate 构建桌面待办应用程序 的文章:

http://msdn.microsoft.com/en-us/magazine/ee819139.aspx

它使用 WPF 作为 UI 技术,但他所说的一切(桌面应用程序中的 NHibernate)同样适用于 WinForms。

关于c# - NHibernate session 管理建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4550601/

相关文章:

c# - Firebird 和对批量查询的支持

c# - 对大量(50~)属性建模的策略

c# - .Net 6.0 项目中的自托管 Asp.net Web API

vb.net - 创建一个在另一个线程上运行的进度条,同时在主线程中保持计算

c# - 连接组件标记算法有问题

c# - 将凭据发送到 WebBrowser

c# - 如何在上下文菜单条中设置组合框的默认项目?

c# - 我如何在 nhibernate 中为 syscache 配置缓存区域?

c# - 我的 WP7 对象在哪里?

c# - 从列表框中删除未知值