Используя метод, описанный здесь , я пытаюсь удалить родительскую запись и все связанные дочерние записи. Однако, что происходит, родительский объект удаляется, как и ожидалось, но поле ключа дочерней записи обновляется до NULL, а не удаляется.
Я также установил правило удаления внешнего ключа дочерней таблицы на Cascade, а удаление из родительской таблицы в SQL Server Management выполняет каскадное удаление, как и ожидалось.
Я начал с того, что следовал этой прогулке , и изменил код для выполнения удаления.
это код:
using (var db = new ProductContext())
{
var food = db.Categories.Find("FOOD");
((IObjectContextAdapter)db).ObjectContext.LoadProperty(food, f => f.Products);
db.Categories.Remove(food);
int recordsAffected = db.SaveChanges();
Есть что-то, что я пропускаю? Или ребенок-сирота записывает ожидаемый результат?