How to remove child one to many related records in EF code first database?

后端 未结 5 1969
逝去的感伤
逝去的感伤 2020-12-01 00:57

Well, I have one-to-many related model:

public class Parent
{
    public int Id { get; set; }
    public string Name { get; set; }
    public ICollection<         


        
5条回答
  •  情深已故
    2020-12-01 01:10

    Cascading delete has no effect here because you don't delete the parent but just call InsertOrUpdate. The correct procedure is to delete the children one-by-one, like so for example:

    using (var context = new MyContext())
    {
        var parent = context.Parents.Include(p => p.Children)
            .SingleOrDefault(p => p.Id == parentId);
    
        foreach (var child in parent.Children.ToList())
            context.Children.Remove(child);
    
        context.SaveChanges();
    }
    

提交回复
热议问题