Como remover um filho de muitos registros relacionados no primeiro banco de dados do código EF?

Bem, tenho um modelo relacionado a um para muitos:

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

public class Child
{
    public int Id { get; set; }
    public string ChildName { get; set; }
}

O que eu quero fazer é claroParent.Children e remover entidades filhas relacionadas do banco de dados. Eu já tentei:

Classe de contexto do banco de dados:

modelBuilder.Entity<Parent>()
            .HasMany(p => p.Children)
            .WithOptional()
            .WillCascadeOnDelete(true);

isso funciona bem, mas eu ainda tenho registros redundantes no banco de dados comParent_Id = null campos quando eu faço

parent.Children.Clear();
repository.InsertOrUpdate(parent);

na minha classe de repositório. Também o mesmo comportamento é quando eu faço:

modelBuilder.Entity<Parent>()
            .HasMany(pr => pr.Children)
            .WithOptional(ri => ri.Parent)
            .WillCascadeOnDelete(true);

com adicionalParent propriedade emChild classe

public class Child
{
    ...
    public Parent Parent { get; set; }
    ...
}

ou quando eu faço

modelBuilder.Entity<Child>()
            .HasOptional(p => p.Parent)
            .WithMany(p => p.Children)
            .HasForeignKey(p => p.Parent_Id)
            .WillCascadeOnDelete(true);

com propriedade Parent_Id adicional emChild classe

public class Child
{
     ...
     public int Parent_Id { get; set; }
     ...
}

Então, como posso configurar a exclusão em cascata corretamente? Ou como devo remover essas entidades filhas? Eu suponho que esta é uma tarefa casual, mas estou perdendo alguma coisa.

questionAnswers(5)

yourAnswerToTheQuestion