I have a one-to-many relationship with child-parent with a list of the children in the parent, I deleted the list but in the database it only deletes the parents Id,
Parent:
public void Configure(EntityTypeBuilder<VehicleCategory> builder)
{
builder.OwnsOne(o => o.Name,
sa =>
{
sa.Property("StringValue").HasColumnName("Name").IsUnicode(true).IsRequired();
sa.Ignore("CurrentCultureText");
});
var navigation = builder.Metadata.FindNavigation(nameof(VehicleCategory.Successors));
navigation.SetPropertyAccessMode(PropertyAccessMode.Field);
builder.Property(c => c.IsActive);
builder.Property(c => c.Sequence);
}
Child
public void Configure(EntityTypeBuilder<VehicleSuccessorCategory> builder)
{
builder.HasOne<VehicleCategory>().WithMany().HasForeignKey(p => p.SuccessorId).IsRequired().OnDelete(DeleteBehavior.Cascade);
builder.Property(e => e.Order).IsRequired();
}
Clearing the list
public virtual void DeleteAll()
{
_successors.Clear();
}
builder.HasOne<VehicleCategory>().WithMany(e => e.Successors).OnDelete(DeleteBehavior.Cascade).IsRequired();