【发布时间】:2009-05-07 17:04:24
【问题描述】:
我有一个 NHibernate Transaction,它做了一些工作并调用了一个使用 DBTransactions 调用多个存储过程的遗留方法。如果这些遗留方法调用中的任何一个失败,则 NHibernate Transaction 应该回滚。
问题是遗留方法正在使用 NHibernate 事务正在创建的数据库中的数据。这导致 Legacy 代码的 SQL 进程在等待 Nhibernate 进程时被锁定。 Nhibernate 进程正在等待 Legacy SQL 进程完成,从而导致死锁。
我已尝试对这两个事务使用 ReadUncommitted,但这不起作用。
我尝试按照 NHibernate in Action 中的建议使用 System.EnterpriseServices 设置分布式事务,但这似乎也不起作用。
我不确定从这里去哪里。
【问题讨论】: