C# 连接串内的隔离级别

C# 连接串内的隔离级别,c#,sqlite,nhibernate,C#,Sqlite,Nhibernate,我在测试项目中使用sqllite db 当我在事务中使用IsolationLevel时,一切都运行得很好 using (ITransaction transaction = session.BeginTransaction(IsolationLevel.ReadCommitted)) 但是我不想硬编码IsolationLevel.ReadCommitted在我的事务中我想放在我的连接字符串中,我尝试了这个 <add name="ConnectionString" connectionSt

我在测试项目中使用sqllite db

当我在事务中使用IsolationLevel时,一切都运行得很好

using (ITransaction transaction = session.BeginTransaction(IsolationLevel.ReadCommitted))
但是我不想硬编码
IsolationLevel.ReadCommitted
在我的事务中我想放在我的连接字符串中,我尝试了这个

<add name="ConnectionString" connectionString="Data Source=...;ISOLATION LEVEL=IsolationLevel.ReadCommitted"/>


但是错误仍然存在,消息为“数据库已锁定!”

没有用于此操作的连接字符串选项(请参阅)。在事务中指定if(根据第一个示例),或者在打开连接后发出语句。作为一个侧面观察:注意,对于从池中重新使用的连接,隔离级别不会重置;这让我疯狂。。。因此,您可能希望明确地设置隔离级别,以确保它符合您的预期,而不仅仅是底层连接(甚至对于新的
SqlConnection
)使用的最后一个命令。

为什么不添加

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

在您的nhibernate配置部分