当你想在你的代码中找到一个错误时,这很难;当你认为你的代码是不会有错误时,这就更难了。

为什么不调用NHibernate拦截器?

admin 119℃
我使用了nhibernate 2.1.2、fluentnhibernate 1.1和配置有内存的sqlite(用于单元测试)。

拦截器的目的是使代理对象按创建条件返回。我想我已经正确地将拦截器注册到配置,但是创建标准只返回裸对象而不是代理对象。我试图在拦截器实例化方法上放置一个断点,但未命中该断点。

所以我的问题是,我如何知道我的拦截器是否已经正确设置?我可以用日志调试吗?

在Visual Studio单元测试中使用配置时遇到问题。

好吧,我花了12个小时因为一个小问题。

拦截器不工作 ISession.Get

我错在这里了

public UserModel Save(UserModel user)
{
    UserModel result = null;
    using (ITransaction transaction = session.BeginTransaction())
    {
        var id = session.Save(user);
        //here i expect a proxied UserModel will returned
        result = session.Get<UserModel>(id);
        transaction.Commit();
    }
    return result;
}

我意识到我的拦截器在我决定离开它并开始为 GetUsers 使用标准API的方法。

如果你对nhibernate拦截器感兴趣,我发现它here

转载请注明:我的代码 » 为什么不调用NHibernate拦截器?