我首先使用 EF 模型,在我的Employee
班级中,我有一个Manager
与自身具有 1 对 1 关系的属性,即Employee
班级:
public partial class Employee
{
public Employee()
{
}
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual Employee Manager { get; set; }
}
现在,当我从数据库中获取现有对象并更改管理器时:
employee.Manager = otherEmployeeInstance;
Context.Entry(employee).State = System.Data.EntityState.Modified;
Context.SaveChanges();
它工作得很好;但是,如果我想删除经理,这将不起作用:
employee.Manager = null;
在我看来,我首先需要将经理(员工)实例“加载”到上下文中,因为这使它工作:
var dummyVar = employee.Manager.Id;
employee.Manager = null;
所以问题是,删除相关对象的最佳(正确)方法是什么?