我有以下类
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);
但它抛出了一个异常
插入语句与外键约束冲突FK_dbo。Employees_dbo。Departments_DepartmentId。冲突发生在数据库 \实体\, 表 \dbo 中。部门\,列 ID
谁能帮我?谢谢
似乎在某些时候您正在尝试Employee
在没有 Department
.因此,这种关系正在失败。