相关疑难解决方法(0)

ASP.NET MVC中的NHibernate会话管理

我目前正在使用Jeffrey Palermo的博客文章中的HybridSessionBuilder类:

http://jeffreypalermo.com/blog/use-this-nhibernate-wrapper-to-keep-your-repository-classes-simple/

使用这个类,我的存储库看起来像这样:

public class UserRepository : IUserRepository
{
    private readonly ISessionBuilder _sessionBuilder;

    public UserRepository(ISessionBuilder sessionBuilder)
    {
        _sessionBuilder = sessionBuilder;
    }

    public User GetByID(string userID)
    {
        using (ISession session = _sessionBuilder.GetSession())
        {
            return session.Get<User>(userID);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是管理NHibernate会话/工厂的最佳方式吗?我听说过有关工作单元的事情,并根据网络请求创建会话并在最后将其刷新.据我所知,我当前的实现并没有做到这一点.它基本上依赖于Repository从会话工厂中获取会话并使用它来运行查询.

以这种方式进行数据库访问是否有任何陷阱?

nhibernate asp.net-mvc orm

28
推荐指数
2
解决办法
2万
查看次数

标签 统计

asp.net-mvc ×1

nhibernate ×1

orm ×1