У меня есть база данных сотрудников и отделов, в которых они работают. У меня есть старая БД и новая БД, и у них обоих одинаковые свойства, но с разными данными.Я хочу скопировать данные из старой БД в новую БД и сохранить изменения.Но у меня есть проблема при вставке сотрудников, потому что идентификатор отдела и сотрудника является идентичностью, поэтому я не могу скопировать и вставить их.
Я добавляю эту строку:
db2.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [dbo].[destEmployees] ON");
, но все еще есть ошибка
SqlException: оператор INSERT конфликтует с ограничением FOREIGN KEY"FK_Employees_Departments".Конфликт произошел в базе данных «Пункт назначения», таблица «dbo.destDepartments», столбец «Id».Заявление было прекращено.
db2.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [destDepartments] ON");
foreach (var item in destDeps)
{
db2.destDepartments.Add(item);
}
db2.SaveChanges();
db2.Database.ExecuteSqlCommand(" SET IDENTITY_INSERT[dbo].[destDepartments] OFF");
db2.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [destEmployees] ON");
foreach (var item in destEmps)
{
db2.destEmployees.Add(item);
}
db2.SaveChanges();
db2.Database.ExecuteSqlCommand("SET IDENTITY_INSERT [destEmployees] OFF");