当前位置:  开发笔记 > 编程语言 > 正文

如何确认NHibernate实际上正在使用SQL事件探查器进行事务?

如何解决《如何确认NHibernate实际上正在使用SQL事件探查器进行事务?》经验,为你挑选了1个好方法。

我使用以下通用代码来保存实体.

using (ITransaction tx = session.BeginTransaction())
{
    try
    {
       entity.DateModified = DateTime.Now;
       session.SaveOrUpdate(entity);
       session.Flush();
       tx.Commit();
       return entity;
    }
    catch (Exception)
    {
       tx.Rollback();
       throw;
    }
}

但是,当我观看SQL事件探查器时,我没有看到任何BEGIN TRANSACTION被发送到SQL Server.这是正常的,预期的吗?



1> Moskie..:

我建议显而易见:确保将Profiler设置为显示交易信息.

在"跟踪属性"对话框 - >"事件选择"选项卡中,有一个用于事务的expando.打开它并检查相应的方框(或只是检查它们全部开启).

另外,仅供参考:我检查了使用NHibernate的应用程序,是的,我在Profiler中跟踪时看到了BEGIN TRANSACTION和COMMIT TRANSACTION调用.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有