我试图为一个表做一个简单的数据库插入,只有当输入错误数据出现异常时,插入和连接才会出现perfectly.The问题。
下面是我的代码:(使用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 --例如,第一次输入重复ID--并告诉我有一个重复,此时出现了一些错误,似乎这里的连接没有关闭(尽管使用了fine,dispose on db),下次我按保存按钮时,就会出现“嵌套事务不受支持”的错误,然后数据库关闭,我就可以输入新数据了!
我尝试手动打开连接,或者启动事务并手动关闭它,就像我在这里的几篇文章中发现的那样,但是似乎没有什么能解决这个问题。
发布于 2015-03-13 04:25:52
看上去像mysql .,#71502
2月27日15:54 Raif Atef 这个错误是由于MySqlTransaction类中的一个bug造成的。
https://stackoverflow.com/questions/29021971
复制相似问题