如何在Fluent NHibernate中设置默认事务隔离级别?

Jam*_*Ide 7 nhibernate fluent-nhibernate

我想在我的Fluent NHibernate配置中将默认事务级别设置为ReadCommitted.如果我使用的是XML映射文件,我可以在配置文件中添加一个键:

<add key="hibernate.connection.isolation" value="ReadCommitted" />
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何使用Fluent配置来实现这一目标.

Raf*_*ler 6

流畅的NHibernate对事务隔离没有任何作用,因此默认值是NHibernate默认的.我不知道这是什么.

我们没有明确的方法来设置隔离,但由于它只是一个配置值,您可以使用Raw方法来设置属性.

MsSqlConfiguration.MsSql2008.Raw("connection.isolation", "isolation_level");
Run Code Online (Sandbox Code Playgroud)

资料来源:https://web.archive.org/web/20100812054505/http : //support.fluentnhibernate.org/discussions/help/45-default-isolation-level-for-transactions


小智 5

在调用Session对象时的BeginTransaction时,应指定隔离级别.

...
ISession session = SessionFactory.OpenSession();
session.BeginTransaction(IsolationLevel.ReadCommitted);
...
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅:NHibernate事务.


dav*_*ooh 1

使用 Fluent NHibernate v 2.x IsolationLevel()方法可用于全局设置事务的隔离级别:

MsSqlConfiguration.MsSql2008
    .IsolationLevel(System.Data.IsolationLevel.ReadCommitted)
Run Code Online (Sandbox Code Playgroud)