如何从Entity Framework 4的父集合中删除子实体?

sim*_*eid 9 entity-framework cascading-deletes

我正在使用Entity Framework 4并且在父实体和子实体之间具有一对多的关系.我正在尝试通过从父的子集合中删除它来删除使用父存储库的子节点:

public virtual void RemoveChild(Child child)
        {
            children.Remove(child);
        }
Run Code Online (Sandbox Code Playgroud)

当我尝试保存更改时,我收到以下错误:

来自"ParentChild"AssociationSet的关系处于"已删除"状态.给定多重约束,相应的"Child"也必须处于"已删除"状态.

当然,我不必使用子存储库显式删除子实体!

Cra*_*ntz 1

这取决于数据库中是否有级联。如果您这样做(并且,考虑到您的问题,您可能应该这样做),那么这应该是自动的。您可以在这里阅读相关内容

  • 差不多 3 年过去了,EF 仍然没有解决这个问题,对吗? (3认同)