我正在研究如何将
Unit of Work pattern添加到使用NHibernate的现有ASP.NET MVC应用程序中.我在各种实现中看到很多种类,我无法确定哪种方法在给定情况下最有效.
为了帮助,我想我会要求Stack Overflow社区列出他们最喜欢的在ASP.NET MVC应用程序中实现工作单元模式的方法.
也许您在创建控制器时使用IoC实例化NHibernate会话,然后将其传递到存储库.或者你可以创建一个工作类/界面的单位.在描述您的方法后,请随时链接到其他资源.
此外,一定要列出与您的方法相关联的任何利弊.
解决方法
我在实体框架4 POCO对象周围实现了一个Repository / UoW模式,对我们来说已经很好了.我们只将UoW公开给Business / Service层,并让Controller或Presenter在我们的案例中调用这些服务来执行或检索数据.
我们实施的模式使用以下文章作为指导:http://msdn.microsoft.com/en-us/library/ff714955.aspx