1

可能重复:
EF 代码首先从 IQueryable<T> 中删除批次?

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

我有如下代码:

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

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

"Delete FROM table WHERE ..." 
4

1 回答 1

2

为此,您需要一个一个loop删除所有实体,不幸的是,在 Linq to SQL 或实体框架中都没有批量删除这样的功能。

foreach(var subject in subjects)
{
    db.Subjects.Remove(subject);
}
db.SubmitChanges();
于 2012-07-14T18:09:29.140 回答