ado.net entity framework удалить строки

Я могу быть полностью слепым и глупым, но я не могу найти никакого метода, сгенерированного ADO.NET модель данных сущности, которая каким-то образом удалит строки из моей таблицы. Я не хотел создавать пользовательский запрос. И как мне это сделать? Пожалуйста помочь.

У меня нет метода DeleteOnSubmit... не знаю, почему. Это код, который я хотел использовать.

var deleteOrderDetails =
from details in db.OrderDetails
where details.OrderID == 11000
select details;

foreach (var detail in deleteOrderDetails)
{
db.OrderDetails.DeleteOnSubmit(detail);
}

db.SubmitChanges();

2 ответов


требуется несколько изменений:

db.DeleteObject(detail);

и

db.SaveChanges();

доброжелательность,

Дэн

PS: вы использовали Linq to SQL, а затем переключились на Entity Framework?


вот еще один способ (спасибо ответ)

Я полагаю, у вас есть Orders таблица, и OrderDetails связано с ним через OrderID.

var order = db.Orders.FirstOrDefault(o=> o.OrderID == 11000);
if(order != null)
{
  order.OrderDetails.Clear();
  db.SaveChanges();
}

это должно удалить все детали заказа, связанные с этим заказом.

edit: исправлен код