有没有办法使用 Informix 数据库或 LOCK MODE TO WAIT 在 Entity Framework 5 中设置隔离级别?
在创建 DbContext 对象时,我尝试使用 SQL 查询设置隔离。
var dataContext = new DatabaseNameContext();
dataContext.Database.ExecuteSqlCommand("SET ISOLATION TO DIRTY READ");
但这似乎行不通。我仍然遇到锁定异常:
IBM.Data.DB2.DB2Exception (0x80004005): ERROR [IX000] [IBM][IDS/UNIX64]
Could not do a physical-order read to fetch next row.
(-107 ISAM error: record is locked.
我尝试将 TransactionScope 与 System.Transactions.IsolationLevel.ReadUncommitted 一起使用,但它引发了异常:
IBM.Data.DB2.DB2Exception (0x80004005): ERROR [58005] [IBM][IDS/UNIX64]
SQL0998N Error occurred during transaction or heuristic processing.
Reason Code = "16". Subcode = "2-8004D026".
你能解释一下出了什么问题以及如何解决它吗?