2015-03-12 3 views
1

Я пытаюсь сделать простую вставку базы данных только для одной таблицы, вставка и соединения работают отлично. Проблема возникает только тогда, когда возникают исключения для ввода плохих данных.Вложенные транзакции EF6 не поддерживаются

Вот мой код: (используя 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 block и скажите мне, что есть дубликат, на данный момент что-то не так, кажется, что соединение здесь не закрыто (несмотря на то, что вы используете finally и dispose on db), в следующий раз, когда я нажму кнопку сохранения, вы получите сообщение об ошибке «Вложенные транзакции не поддерживаются ", а затем db закрывается, и я могу ввести новые данные!

Я попытался открытие соединения вручную или начать транзакцию и закрыть его вручную, так как я нашел в нескольких постах здесь, но ничего, кажется, решить проблему

ответ

1

Похоже a mysql bug...., #71502

[27 февраля 15 : 54] Raif Atef

Эта ошибка связана с ошибкой в ​​классе MySqlTransaction.

+1

Действительно. См. Также здесь: https://stackoverflow.com/questions/26320679/asp-net-web-forms-and-mysql-entity-framework-nested-transactions-are-not-suppo/29265962#29265962 – AronVanAmmers