我有以下实体框架对象:
评估、阶段、公寓
评估包含许多阶段,阶段包含许多公寓。
我正在尝试删除某个阶段,如下所示:
var deletedStages =
originalEvaluation.Stages.Where(s => s.State == StateTypes.Deleted);
deletedStages.ToList().ForEach(stage =>
{
stage.Apartments.ToList().ForEach(
apartment => stage.Apartments.Remove(apartment)
);
originalEvaluation.Stages.Remove(stage);
});
deletedStages.ToList().ForEach(stage =>
{
stage.Apartments.ToList().ForEach(apartment =>
shechtmanEntities.Apartments.DeleteObject(apartment)
);
shechtmanEntities.Stages.DeleteObject(stage);
});
}
}
try
{
shechtmanEntities.SaveChanges();
}
但我不断收到异常:“无法更改关系,因为一个或多个外键属性不可为空”。
我知道它与空外键有关,但我不明白哪个?为什么?
谢谢。