批量删除EntityFramework数据库
本文关键字:数据库 EntityFramework 删除 | 更新日期: 2023-09-27 18:08:11
如何使用实体框架批量删除数据库中的数据。这是我的c#代码,现在它工作得很慢。是因为每次只删除一行吗?如何更快地删除它。现在,删除20K行需要30分钟。
var ts = from t in db.MyTasks
where t.MyTaskID == id
select t;
var sjs = from t in ts
from s in t.Comments
where s.CommentJobs.Count() > 0
select s;
var ss = from t in ts
from s in t.Comments
select s;
sjs.ToList().ForEach(o => {
db.CommentJobs.RemoveRange(o.CommentJobs);
});
db.Comments.RemoveRange(ss);
db.MyTasks.RemoveRange(ts);
db.SaveChanges();
对于这样的批量操作,可以使用SqlQuery()方法。