如何使用Entity Framework批量删除数据库中的数据。 这是我的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();
答案 0 :(得分:0)
对于像这样的批量操作,您可以使用SqlQuery()方法。