【问题标题】:Best Practices for Windows Forms Apps with NHibernate使用 NHibernate 的 Windows 窗体应用程序的最佳实践
【发布时间】:2011-09-15 17:05:12
【问题描述】:
我一直在用 C#(.net 框架 4)开发 Windows 窗体应用程序,并尝试应用 NHibernate 进行数据访问。我们的团队有一些在 web 上下文中使用 nhibernate(如映射、配置和 CRUD)的经验,我们对在 windows 上下文中使用 nhibernate 有一些疑问。
有人可以推荐一个开源项目来研究如何在 Windows 窗体应用程序中以最佳方式应用 nhibernate 吗? (我们的意思是,在界面窗口中执行 CRUD 的最佳方法,使用与 nhibernate 的绑定、表单中的 ISession 管理等......)
【问题讨论】:
标签:
c#
winforms
nhibernate
data-binding
user-interface
【解决方案1】:
看看http://msdn.microsoft.com/en-us/magazine/ee819139.aspx
正确的解决方案当然取决于您的需求,但在 web 上下文中使用像 NH 这样的 ORM 与 winforms 相比,主要区别在于确定何时打开会话以及何时关闭会话。在网络上,每个请求的季节是一种流行的架构。在winforms上,答案并不那么容易。如果您的应用程序有许多表单,则每个表单的会话可能是答案。如果它是一个单一形式的包罗万象,事情就会变得棘手。当然,在最坏的情况下,您可以按操作降级为会话……但通常不建议这样做。
除此之外,两者之间确实不应该有任何显着差异。