为什么';nhibernate是否有合适的会话管理器,如UoW?
作为nHibernate的新手,我发现会话的创建有点令人困惑 为什么nHibernate不提供类似(我相信)工作单元的功能 或者是否有构建的东西,UofW更像是一个附加组件/首选项?(上下文:带SQL server的ASP.NET MVC web应用程序)为什么';nhibernate是否有合适的会话管理器,如UoW?,nhibernate,Nhibernate,作为nHibernate的新手,我发现会话的创建有点令人困惑 为什么nHibernate不提供类似(我相信)工作单元的功能 或者是否有构建的东西,UofW更像是一个附加组件/首选项?(上下文:带SQL server的ASP.NET MVC web应用程序) 注意:我是nHibernate的新手,对MS的工作方式很着迷。如果产品下载等通常需要附带的东西,我会很喜欢。会话是一种工作单元,也是一个身份图。您可以在其上创建自己的工作单元抽象。不同的应用程序需要不同类型的工作单元,不同的程序员也喜欢不同的
注意:我是nHibernate的新手,对MS的工作方式很着迷。如果产品下载等通常需要附带的东西,我会很喜欢。会话是一种工作单元,也是一个身份图。您可以在其上创建自己的工作单元抽象。不同的应用程序需要不同类型的工作单元,不同的程序员也喜欢不同的实现
创建自己的工作单元实现以抽象会话和事务管理不需要超过50行代码。我同意Paco,尽管在web应用程序中这可能需要更多的工作 我认为真正的问题是,我们大多数人都希望将上游代码从对NHibernate的直接依赖中分离出来,因此我们不希望直接针对会话工作
一旦你了解了NHibernate,这个抽象就变得非常简单,但是在你第一次尝试了解NHibernate的同时,要了解这个抽象就有点困难了。如果你还没有找到它的话。。。有一个web应用程序的工作单元组件,它是NHibernate Contrib项目的一部分,名为。它相当灵活,支持短对话(每个请求的会话)和长对话(跨越多个请求的会话) 我以前在ASP.NETMVC中使用过Burrow,它工作得很好,尽管我没有在MVC中尝试过长时间的对话。在它的当前状态下,为了使用它,您需要更新库引用并编译Burrow项目。这是一点额外的工作,但值得