繁体   English   中英

在Asp.Net MVC中使用NHibernate

[英]Using NHibernate in Asp.Net MVC

大家好,

从MVC的模型组件中使用NHibernate的步骤是什么?

ASP.NET MVC中的Models文件夹应该用于视图模型(将复杂对象返回到controler => view),NHibernate ISessionFactory应该在MVC项目的global.asax中的Application_Start事件中启动。 我建议将Mapping和Entities放在另一个项目中,通常使用名为Mappings / Domain / Persistence的文件夹组合来保持简单。 对于更结构化的解决方案,我将研究DDD层,但这对于小型实现而言相当复杂,并且并非适用于每个项目。

没什么不同,您可以在Web项目的根目录中添加hibernate.cfg.xml并添加映射文件,一切顺利

看一下SharpArchitecture,这是带有NHIbernate的MVC的最佳实践。

http://code.google.com/p/sharp-architecture/

我猜想,MVC中nHibernate唯一的特点是处理会话生命周期的方式。 大多数人更喜欢按请求进行会话的实现模式,其中为每个http请求创建一个新会话(在nHibernate中创建会话很便宜)。 相反,会话工厂在创建方面是相当昂贵的,应该为整个应用程序创建一次。

...并且我强烈建议您阅读Jeffrey Palermo撰写的ASP.NET MVC 2 in Action。 它专门使用Asp.net MVC处理nHibernate。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM