Эта проблема существовала для меня в трех проектах.
Я пробовал следующее:
<property name="connection.isolation">ReadCommitted</property>
Установить в hibernate.cfg.xml
Используя fluent nhiberate:
MsSqlConfiguration.MsSql2008.IsolationLevel(IsolationLevel.ReadCommitted);
Установить глобально. asax.cs
Я всегда был вынужден установить его так:
CurrentNhibernateSession.Transaction.Begin(IsolationLevel.ReadCommitted);
который работает. (Я могу увидеть это с помощью NHibernate Profiler)
Проблема в том, что теперь я использую четкую архитектуру, и внутри этой структуры вызывается transaction.begin, и у меня возникли проблемы с его восстановлением.
Есть ли способ сделать это, который работает без явной установки его при начале транзакции?