Как установить уровень изоляции транзакции по умолчанию в Fluent NHibernate? - PullRequest
7 голосов
/ 19 апреля 2010

Я хотел бы установить уровень транзакции по умолчанию на ReadCommitted в моей конфигурации Fluent NHibernate.Если бы я использовал файлы сопоставления XML, я мог бы добавить ключ к моему файлу конфигурации:

<add key="hibernate.connection.isolation" value="ReadCommitted" />

, но я не могу понять, как это сделать с помощью конфигурации Fluent.

Ответы [ 3 ]

6 голосов
/ 19 апреля 2010

Свободный NHibernate ничего не делает с изоляцией транзакции, поэтому по умолчанию будет использоваться значение по умолчанию NHibernate. Я не знаю, что это такое.

У нас нет явного метода для установки изоляции, но так как это просто значение конфигурации, вы можете использовать метод Raw для установки свойства.

MsSqlConfiguration.MsSql2008.Raw("connection.isolation", "isolation_level");

Источник: https://web.archive.org/web/20100812054505/http://support.fluentnhibernate.org/discussions/help/45-default-isolation-level-for-transactions

5 голосов
/ 01 марта 2012

Вы должны указать уровень изоляции при вызове: BeginTransaction для вашего объекта Session.

...
ISession session = SessionFactory.OpenSession();
session.BeginTransaction(IsolationLevel.ReadCommitted);
...

Пожалуйста, обратитесь к: транзакции NHibernate для более подробной информации.

1 голос
/ 28 июля 2015

С Fluent NHibernate * метод 1001 * v 2.x IsolationLevel() может использоваться для глобальной установки уровня изоляции для транзакций:

MsSqlConfiguration.MsSql2008
    .IsolationLevel(System.Data.IsolationLevel.ReadCommitted)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...