NewLife.XCode
NewLife.XCode copied to clipboard
mysql8.1+windows10环境下事务问题
mysql8.1+windows10环境下 某个控制器内部业务为更新两个表AB,外层方法更新A表,内层方法为异步更新B表,异步方法里面,更新了B表后,会导致外层事务的Tanscation失效。 public async Task MethodA() { using (var tran = Log.Meta.CreateTrans())//表A事务开始 { await MethodB();//更新表B tran .Commit();//提交报事务未开始异常。 } } 改为如下正常使用: public async Task MethodA() { using (var tran = Log.Meta.CreateTrans()) { MethodB().GetAwaiter().GetResult(); tran .Commit();//提交事务正常。 } }