场景与https://bugs.mysql.com/bug.php?id=71502 这里描述的一样。
第一次执行更新操作没问题,但是第二次再去打开事务就报'嵌套事务不被支持'异常,除非重启数据库服务器,否则每次打开事务都报异常,重启之后又回到原来的情况,第一次没问题,第二次又报异常,很崩溃。
看里面说的是MySql.Data.dll中的Bug,但没看到解决办法,有遇到相同问题的吗?
事务没有提交,检查一下代码,看看
事务Commit和Rollback我肯定写了的
ef哪来的事务?
EF默认会使用事务
但通常有时我们会自己来控制事务的提交和回滚
贴下简单的代码
1 using(var dbContext = new DbContext()) 2 { 3 using (var dbTransaction = dbContext.Database.BeginTransaction()) 4 { 5 try 6 { 7 var dbDemoList = dbContext.Set<Db_Demo>().Where(w => w.Id == 1).ToList(); 8 dbDemoList.FirstOrDefault().DemoCode = "2001"; 9 dbContext.SaveChanges(); 10 dbTransaction.Commit(); 11 } 12 catch(Exception ex) 13 { 14 dbTransaction.Rollback(); 15 } 16 } 17 }
第二次执行红色行就会报错
我的开始是报事务不能嵌套,后面报事务不存在,最后解决是....事务名大小写必须对应
我更新了最新版的MySql驱动,然后就可以了
楼主解决了这个问题吗?同问!