私は2人の親の子供であるクラスを持っています。親の 1 つを削除すると、子が削除されることを期待していますが、もう 1 つの親はそれらをセッションに保持し、エラーが発生します。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);
車のリストをトラバースするのではなく、削除を行うより良い方法はありますか?車が削除する従業員に属しているかどうかを確認し、従業員を削除する前に車も削除しますか?