我使用实体框架4,我与"级联删除"设置有父子关系.所以当我调用SaveChanges()时,当我从父母中删除孩子时,我会期望删除孩子.
cuRepository.Attach(_controlUnit);
foreach (var recipe in recipes) {
_controlUnit.Recipes.Remove(recipe);
//repository.DeleteObject(recipe);
}
Run Code Online (Sandbox Code Playgroud)
相反,我得到一个错误:
发生System.InvalidOperationException消息=操作失败:无法更改关系,因为一个或多个外键属性不可为空.当对关系进行更改时,相关的外键属性将设置为空值.如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象.
当我明确删除子项(请参阅注释行)时,一切都很好.我错过了什么?