Ответ 1
Предполагая, что EmployeeID
в вашей таблице базы данных определяется как INT IDENTITY
, вы можете сделать это:
// create two new employees - one refers to the other
Employee john = new Employee { EmployeeID = -1, EmpName = "John" };
Employee peter = new Employee { EmployeeID = -2, EmpName = "Peter", ReferEmployeeID = -1 };
// add them to the EF model
ctx.AddToEmployees(john);
ctx.AddToEmployees(peter);
// save changes
ctx.SaveChanges();
В основном, определите своих новых сотрудников с помощью значений "dummy" EmployeeID
и установите ссылку (Peter
ссылки John
здесь, с помощью своего идентификатора "dummy").
При сохранении этого в SQL Server, Entity Framework будет обрабатывать процесс получения реальных значений EmployeeID
(которые SQL Server выполняет при вставке строки), а EF будет поддерживать эту связь между двумя сотрудниками.