我正在尝试使用下一个代码设置IsolationLevel.ReadUncommitted
public class EntityRepository : RepositoryBase<Entity>, IEntityRepository
{
...
public void SomeFunction()
{
using (var transaction = Session.BeginTransaction(IsolationLevel.ReadUncommitted))
{
// Profiler log: set transaction isolation level read committed
try
{
Session.Query<Entity>().Count();
// Profiler log: select count(*) from dbo.Entity
transaction.Commit();
}
catch
{
transaction.Rollback();
throw;
}
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
但是我的Profiler说查询是在隔离级读取已提交的情况下执行的.
如果SomeFunction替换为
public void SomeFunction()
{
// 1. set isolation level uncommeted
using (var transaction = Session.BeginTransaction(IsolationLevel.ReadUncommitted))
{
// Profiler log: set transaction isolation level read committed
try
{
transaction.Commit();
} …Run Code Online (Sandbox Code Playgroud)