Ech*_*ban 12 nhibernate wpf session mvvm unit-of-work
我想我陷入了分析的瘫痪状态.请帮忙!
我目前有一个项目
在我的案例中,工作单元实现一次支持一个NHibernate会话.我当时认为这是有道理的; 它隐藏了ViewModel中NHibernate会话的内部工作方式.
现在,根据Oren Eini(Ayende)的说法:http://msdn.microsoft.com/en-us/magazine/ee819139.aspx
他说服观众在处理与presenter/viewmodel相关联的视图时应创建/处理NHibernate会话.他提出了为什么每个Windows应用程序不需要一个会话,也不希望每个事务创建/处理会话的问题.遗憾的是,这会产生一个问题,因为我的UI可以轻松地在应用程序中显示10个以上的视图/视图模型.他正在使用MVP策略,但他的建议是否转化为MVVM?
这是否意味着我应该废弃工作单元并让viewmodel直接创建NHibernate会话?WPF应用程序一次只能有一个工作会话吗?如果这是真的,我什么时候应该创建/处置NHibernate会话?
而且我还没有考虑过NHibernate无状态会话如何适应这一切!我的大脑会爆炸.请帮忙!
更新:
我在Rhino Tools中找到了Ayende的工作单元实现.我发现他的实施与我所做的实施之间存在显着差异.他绝对支持多次会议.经过进一步的研究,我认为我最好做以下事情:
毕竟,我可以应用每个viewmodel打开一个会话/无状态会话的策略,并且当处理视图时,具有viewmodel flush/dispose会话/无状态会话.
听起来像是个计划?