Как прибавлять +1 к первичному ключу, при добавлении данных в DataGrid?

Рейтинг: 0Ответов: 0Опубликовано: 21.04.2023

Чтобы не возникала подобная проблема

System.Data.Entity.Infrastructure.DbUpdateException
  HResult=0x80131501
  Сообщение = При обновлении записей возникла ошибка. Дополнительные сведения приведены во внутреннем исключении.
  Источник = EntityFramework
  Трассировка стека:
  Изначально это исключение было создано в этом стеке вызовов: 
    [Внешний код]

Внутреннее исключение 1:
UpdateException: При обновлении записей возникла ошибка. Дополнительные сведения приведены во внутреннем исключении.

Внутреннее исключение 2:
SqlException: Конфликт инструкции DELETE с ограничением REFERENCE "FK_ListOfTests_Teacher". Конфликт произошел в базе данных "ХолчукУПТеорияВероятностей", таблица "dbo.ListOfTests", column 'ID_Teacher'.
Выполнение данной инструкции было прервано.

введите сюда описание изображения

Строка начинается с 1, но когда добавляю через

private void AddTeacher_Click(object sender, RoutedEventArgs e)
{
    ХолчукУПТеорияВероятностейEntities1.GetContext().Teacher.Add(_currentTeacher);
    try
    {
        ХолчукУПТеорияВероятностейEntities1.GetContext().SaveChanges();
        MessageBox.Show("Данные успешно сохранены!");
        NavigationService.Navigate(new PageAdmin_Menu_Teacher());
    }
    catch (DbEntityValidationException Ex)
    {
        foreach (DbEntityValidationResult validationError in Ex.EntityValidationErrors)
        {
            MessageBox.Show("Object: " + validationError.Entry.Entity.ToString());
            MessageBox.Show("");

            foreach (DbValidationError err in validationError.ValidationErrors)
            {
                MessageBox.Show(err.ErrorMessage + "");
            }
        }
    }
}

то следующий пользователь нулевой, и видимо дальше должен идти 1. но строка с таким первичным ключом уже существует и выходит ошибка. Под 0 строка, которая была добавлена с помощью кода, описанного выше.

введите сюда описание изображения

Как исправить код?

Ответы

Ответов пока нет.