O.R.M。 Entity Framework INSERT 语句与 FOREIGN KEY 约束异常冲突
O.R.M. Entity Framework INSERT statement conflicted with the FOREIGN KEY constraint exception
我有以下类
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);
但是抛出异常
The INSERT statement conflicted with the FOREIGN KEY constraint \FK_dbo.Employees_dbo.Departments_DepartmentId. The conflict occurred in database \Entities\, table \dbo.Departments\, column Id
谁能帮帮我?谢谢
您似乎在某个时候试图保存 Employee
而没有
Department
。因此关系破裂。
我有以下类
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);
但是抛出异常
The INSERT statement conflicted with the FOREIGN KEY constraint \FK_dbo.Employees_dbo.Departments_DepartmentId. The conflict occurred in database \Entities\, table \dbo.Departments\, column Id
谁能帮帮我?谢谢
您似乎在某个时候试图保存 Employee
而没有
Department
。因此关系破裂。