Я использую. Net Core 3.1 с Entity Framework, и я получил эту ошибку
Нарушение ограничения PRIMARY KEY (Constraint_Name). Невозможно вставить дубликат ключа в объект "dbo.TableName". Значение дубликата ключа: (Guid Key).
Оператор завершен.
Когда я пытаюсь извлечь объект из базы данных и назначить его в качестве связанных данных для нового объекта.
Например:
Employee employee = await _context.Employees
.Where(e => e.Id == id)
.Include(e => ed.Company).FirstOrDefault();
EmployeeStatus employeeStatus = new EmployeeStatus();
employeeStatus.Status = "BlackListed";
employeeStatus.StartedFrom = DateTime.Now();
employeeStatus.Employee = employee;
await _context.EmployeeStatuses.AddAsync(employeeStatus);
await _context.SaveChangesAsync();
Итак, я получил ошибку, потому что не могу получить дубликат идентификатора компании, но когда я заменяю эту строку
employeeStatus.Employee = employee;
этой
employeeStatus.EmployeeId = employee.Id;
это работало хорошо.
Итак, это проблема с отслеживанием или у меня есть некоторые ошибки в моей последовательности кода для создания нового объекта и назначения ему связанных данных.
Примечание: я редко сталкивался с этой проблемой при использовании. Net Core 2.2, но после перехода на. Net Core 3.1 я столкнулся с похожим сценарием ios.
Заранее спасибо.