C# 为什么不是';Nhibernate拦截器呼叫了吗?

C# 为什么不是';Nhibernate拦截器呼叫了吗?,c#,.net,nhibernate,C#,.net,Nhibernate,我使用了NHibernate 2.1.2、FluentNhibernate 1.1和在内存中配置的SQLite(用于单元测试) 拦截器的目的是使代理对象由create条件返回。我想我已经正确地将拦截器注册到配置中,但是create-criteria只返回裸对象,而不是代理对象。我试图在拦截器实例化方法上设置断点,但未命中断点 所以我的问题是,我如何知道我的拦截器是否已经正确设置?我可以使用日志进行调试吗 我在Visual Studio单元测试中使用配置时遇到问题。好的,因为一个小问题,我花了12

我使用了NHibernate 2.1.2、FluentNhibernate 1.1和在内存中配置的SQLite(用于单元测试)

拦截器的目的是使代理对象由create条件返回。我想我已经正确地将拦截器注册到配置中,但是create-criteria只返回裸对象,而不是代理对象。我试图在拦截器实例化方法上设置断点,但未命中断点

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


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

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

侦听器不适用于
ISession。获取

这就是我弄错的地方

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;
}
public UserModel保存(UserModel用户)
{
UserModel结果=null;
使用(ITransaction transaction=session.BeginTransaction())
{
var id=session.Save(用户);
//在这里,我希望会返回一个代理用户模型
结果=session.Get(id);
Commit();
}
返回结果;
}
在我决定离开拦截器并开始为使用CriteriaAPI的
GetUsers
方法编写单元测试之后,我意识到我的拦截器工作得很好


仅供参考,如果您对NHibernate拦截器感兴趣,我会找到它。

您是否使用断点+调试模式查看拦截器是否被调用?是的,我有,但过程不会就此停止。