我可能完全失明和愚蠢,但我找不到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();
答案 0 :(得分:10)
需要进行一些改动:
db.DeleteObject(detail);
和
db.SaveChanges();
善,
丹
PS:您是否一直在使用Linq to SQL,然后交换到实体框架?
答案 1 :(得分:5)
这是另一种方式(感谢this answer)
我假设您有Orders
表格,而OrderDetails
与OrderID
相关。
var order = db.Orders.FirstOrDefault(o=> o.OrderID == 11000);
if(order != null)
{
order.OrderDetails.Clear();
db.SaveChanges();
}
这应删除与该订单相关的所有订单明细。
编辑:修复代码