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

如何在Fluent NHibernate中设置默认事务隔离级别?,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我想在我的Fluent NHibernate配置中将默认事务级别设置为ReadCommitted。如果使用XML映射文件,我可以向配置文件添加一个键: <add key="hibernate.connection.isolation" value="ReadCommitted" /> 但我不知道如何通过流畅的配置来实现这一点 Fluent NHibernate不处理事务隔离,因此默认值将是NHibernate默认值。我不知道那是什么 我们没有一个显式的方法来设置隔离,但是因为它

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

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

但我不知道如何通过流畅的配置来实现这一点

Fluent NHibernate不处理事务隔离,因此默认值将是NHibernate默认值。我不知道那是什么

我们没有一个显式的方法来设置隔离,但是因为它只是一个配置值,所以您可以使用Raw方法来设置属性


来源:

在会话对象上调用:BeginTransaction时,应该指定隔离级别

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

有关更多详细信息,请参阅。

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

MsSqlConfiguration.MsSql2008
    .IsolationLevel(System.Data.IsolationLevel.ReadCommitted)

我也发现了,但对我不起作用。它正在处理设置,因为如果我将其设置为不受支持的IsolationLevel(混沌),它会引发异常。但是探查器仍然显示未指定的级别,除非我在开始事务时设置了它。我不确定,但可能探查器上未指定的级别只是意味着您没有为此事务设置任何隔离级别,所以nh将使用默认级别?源链接已断开
MsSqlConfiguration.MsSql2008
    .IsolationLevel(System.Data.IsolationLevel.ReadCommitted)