Оператор INSERT платформы ORM Entity Framework конфликтует с исключением ограничения FOREIGN KEY
У меня есть следующие классы
public class Employee
{
public Guid Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Gender { get; set; }
public int Salary { get; set; }
public string PhoneNumber { get; set; }
public Guid DepartmentId { get; set; }
public virtual Department Department { get; set; }
public int Deleted { get; set; }
public bool IsDeleted()
{
return this.Deleted == 1 ? true : false;
}
public void MarkAsDeleted()
{
this.Deleted = 1;
}
public string GetFullName()
{
return this.FirstName + " " + this.LastName;
}
}
public class Department
{
public Department()
{
this.Employees = new List<Employee>();
}
public Guid Id { get; set; }
public string Name { get; set; }
public virtual List<Employee> Employees { get; set; }
public int Deleted { get; set; }
public bool IsDeleted()
{
return this.Deleted == 1 ? true : false;
}
public void MarkAsDeleted()
{
this.Deleted = 1;
}
public void AddEmployee(Employee employee)
{
this.Employees.Add(employee);
}
public void RemoveEmployee(Employee employee)
{
this.Employees.Remove(employee);
}
}
И я хочу создать отношение один ко многим, и в моей конфигурации у меня есть следующий код для этого
[modelBuilder.Entity<Department>()
.HasMany(l => l.Employees).
WithRequired(r => r.Department).
HasForeignKey(r => r.DepartmentId);
Но это исключение
Оператор INSERT конфликтовал с ограничением FOREIGN KEY \FK_dbo.Employees_dbo.Departments_DepartmentId. Конфликт произошел в базе данных \Entities\, таблица \dbo.Departments\, столбец Id
Кто-нибудь может мне помочь, пожалуйста! Спасибо
1 ответ
Решение
Кажется, что в какой-то момент вы пытаетесь сохранить Employee
безDepartment
, Поэтому отношения рушатся.