попробуйте сначала очистить все CurrentEmployer, а затем удалить сотрудника
public class Employer
{
public virtual Guid Id {get;set;}
public virtual string Name {get;set}
public virtual IList<Person> Employees {get;set;}
public void UnemployAll()
{
foreach(var employee in Employees)
{
employee.CurrentEmployer = null;
}
Employees = new List<Person>(); // clear it
}
}
, а затем попробуйте следующее (я думаю, что все сотрудники должны обновиться), я не знаю, сработает лина макушке, но это может заставить вас начать в правильном направлении.
oldEmployer.UnemployAll();
_session.Delete(oldEmplorer);