繁体   English   中英

不支持EF6嵌套事务

[英]EF6 Nested Transactions are not supported

我正在尝试仅对一个表进行简单的数据库插入,插入和连接运行正常。仅当输入错误数据时出现异常时才出现问题。

这是我的代码:(使用MySql和EF6)

using (MaintenanceDB db = new MaintenanceDB())
        {
            try
            {
                employee employee = new employee
                {
                    ID = idTBA.textBox.Text,
                    EName = enTBA.textBox.Text,
                    AName = anTBA.textBox.Text,
                    CareerCode = careerCodeCBA.comboBox.SelectedItem.ToString(),
                    Specialization = specTBA.textBox.Text,
                    Mobile = mobileTBA.textBox.Text,
                    Telephone = teleTBA.textBox.Text,
                    Email = emailTBA.textBox.Text
                };
                db.employees.Add(employee);
                db.SaveChanges();
            }
            catch (DbUpdateException exception)
            {
                MessageBox.Show(exception.InnerException.InnerException.Message);
            }
            catch (EntityException exception)
            {
                MessageBox.Show(exception.InnerException.Message);
            }
        }

因此,如果输入的数据正确无误,但例如如果我第一次输入重复的ID,它将进入第一个catch块并告诉我有重复的数据,这时出现了问题,这似乎是连接错误在这里没有关闭(尽管最终使用并放置在db上),下次我单击保存按钮时,出现错误“不支持嵌套事务”,然后db关闭,我可以输入新数据!

我尝试手动打开连接或启动事务并手动关闭它,正如我在此处的几篇文章中所发现的那样,但是似乎没有任何方法可以解决问题

似乎是一个mysql错误....,#71502

[27 Feb 15:54] Raif Atef

此错误是由于MySqlTransaction类中的错误引起的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM