ado.net实体框架删除行

时间:2009-09-08 14:16:03

标签: c# asp.net-mvc ado.net

我可能完全失明和愚蠢,但我找不到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 个答案:

答案 0 :(得分:10)

需要进行一些改动:

db.DeleteObject(detail);

db.SaveChanges();

善,

PS:您是否一直在使用Linq to SQL,然后交换到实体框架?

答案 1 :(得分:5)

这是另一种方式(感谢this answer

我假设您有Orders表格,而OrderDetailsOrderID相关。

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

这应删除与该订单相关的所有订单明细。

编辑:修复代码

相关问题