小编H. *_*her的帖子

EF 4:从集合中删除子对象不会删除它 - 为什么?

我使用实体框架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消息=操作失败:无法更改关系,因为一个或多个外键属性不可为空.当对关系进行更改时,相关的外键属性将设置为空值.如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象.

当我明确删除子项(请参阅注释行)时,一切都很好.我错过了什么?

linq entity-framework entity-framework-4

33
推荐指数
4
解决办法
3万
查看次数