我有一个班级是两个父母的孩子。当我删除其中一个父母时,我希望孩子被删除,但另一位父母将他们留在会话中并出现错误Deleted object would be resaved by cascade
class Company
{
// automap.HasMany(x=>x.Cars).Cascade.AllDeleteOrphan();
IList<Car> Cars { get; set; }
// automap.HasMany(x=>x.Employees).Cascade.AllDeleteOrphan();
IList<Employee> Employees { get; set; }
}
class Employee
{
// automap.references(x=>x.job);
Company job { get; set; }
// automap.hasMany(x=>x.OwnedCars).Cascade.AllDeleteOrphan();
IList<Cars> OwnedCars { get; set; }
}
class Car
{
// automap.references(x=>x.company)
Company company { get; set; }
// automap.references(x => x.Employee)
Employee Driver {get; set; } // might be null
}
当我解雇一名员工时——我希望他的汽车也从公司中撤出;
var Company = Sesion..Get(1);
Company.Employees.removeAt(1);
Session.Update(Company);
有没有更好的方法来进行移除而不是遍历汽车列表,检查汽车是否属于我要移除的员工 - 并在移除员工之前也移除汽车?