【问题标题】:Using NHibernate in Asp.Net MVC在 Asp.Net MVC 中使用 NHibernate
【发布时间】:2010-02-01 12:18:51
【问题描述】:

大家好,

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

【问题讨论】:

    标签: asp.net-mvc nhibernate


    【解决方案1】:

    ASP.NET MVC 中的 Models 文件夹应该用于视图模型(将复杂对象返回到控制器 => 视图),NHibernate ISessionFactory 应该在 MVC 项目的 global.asax 中的 Application_Start 事件中启动。我建议将映射和实体本身放在不同的项目中,通常使用名为 Mappings/Domain/Persistence 的文件夹组合以保持简单。对于更结构化的解决方案,我会查看 DDD 层,但这对于小型实现来说非常复杂,并且不适用于每个项目。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        看看 SharpArchitecture,这是 MVC 与 NHIbernate 的最佳实践。

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

        【讨论】:

          【解决方案4】:

          我猜,MVC 中 nHibernate 唯一特有的就是你处理会话生命周期的方式。大多数人更喜欢 session-per-request 实现模式,其中为每个 http 请求创建一个新会话(在 nHibernate 中创建会话很便宜)。相比之下,会话工厂在创建方面相当昂贵,应该为整个应用程序创建一次。

          ...我强烈建议您阅读 Jeffrey Palermo 的 ASP.NET MVC 2 in Action。它专门处理带有 Asp.net MVC 的 nHibernate。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多