Как прибавлять +1 к первичному ключу, при добавлении данных в DataGrid?
Чтобы не возникала подобная проблема
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 строка, которая была добавлена с помощью кода, описанного выше.
Как исправить код?
Источник: Stack Overflow на русском