Well, I have one-to-many related model:
public class Parent { public int Id { get; set; } public string Name { get; set; } public ICollection<
Try changing to
public virtual ICollection Children { get; set; }
because virtual is needed to get lazy loading. as explained here
I think your parent.Children.clear isnt working because the Children have not been loaded