使用LINQ查询从表中删除多行

时间:2012-07-14 18:06:08

标签: c# linq entity-framework

  

可能重复:
  EF Code First Delete Batch From IQueryable<T>?

如何使用LINQ查询从表中删除多行。

我的代码如下:

var subjects = (from sub in db.Subjects select sub)
               .Where(sub => sub.title.StartsWith("ab"));

我希望在一个命令中从我的表中删除所有这些主题,如在sql:

"Delete FROM table WHERE ..." 

1 个答案:

答案 0 :(得分:2)

您需要loop,您必须逐个删除所有实体,遗憾的是,在Linq to SQL或Entity Framework中没有批量删除等功能。

foreach(var subject in subjects)
{
    db.Subjects.Remove(subject);
}
db.SubmitChanges();