Search code examples
entity-frameworkcascading-deletes

How do I delete a child entity from a parent collection with Entity Framework 4?


I'm using Entity Framework 4 and have a one-to-many relationship between a parent and child entity. I'm trying to delete a child using the parent repository by removing it from the parent's children collection:

public virtual void RemoveChild(Child child)
        {
            children.Remove(child);
        }

When I try to save the changes I get the following error:

A relationship from the 'ParentChild' AssociationSet is in the 'Deleted' state. Given multiplicity constraints, a corresponding 'Child' must also in the 'Deleted' state.

Surely I don't have to delete the child entity explicitly using a child repository!


Solution

  • It depends on whether you have a cascade in the DB. If you do (and, given your question, you probably should), then this should be automatic. You can read about this here.