As I understand, if I delete a parent row, its children should be deleted if I turn on cascade on delete. However, from my testing, it doesn\'t seem to work at all. No matte
Make sure on the Foreign Key Relationship window in SQL Server, you have selected Cascade as Delete rule.
This is because your foreign keys (child) are nullable. By default, when deleting parent, if the foreign key on the relationship is nullable EF will delete the parent and set the foreign key to null. If the foreign key is NOT NULL it will delete the child (the behaviour you're looking for?).
You can alter this default behaviour here