Я использую образец базы данных Northwind. У меня есть этот код:
var db = new NorthwindEntities();
int id = 2; // Example
var delObject = (from o in db.Orders.Include("Order_Details")
where o.OrderID == id
select o).First();
db.Orders.DeleteObject(delObject);
db.SaveChanges();
У меня есть (1-ко-многим) связь в Заказе - Детали заказа, с каскадным удалением . (Если я удалю один ордер, все ордера Order_Details с одинаковым идентификатором ордера будут удалены).
У меня LazyLoading включен .
Если я удалю .Include("Order_Details")
в предложении from, каскадное удаление не будет работать.
Почему это происходит? Разве ленивая инициализация не должна «включать» Order_Details для меня и в конечном итоге позволять мне каскадно удалять?