相信用EF的时候,大家都会碰到批量操作的时候。用SQL语句一个Update或者Delete就OK了。
但是EF必要先要得到一个List然后再根据条件循环删除,对应追求性能的同学,看到这种情况真是无法忍受。
举例说明:
- 用EF批量删除数据
IList<TaskfinishedTasks = tasks.Where(x =x.IsFinished == true).ToList();
if (finishedTasks != null && finishedTasks.Count 0)
{
foreach (Task item in finishedTasks)
{
taskService.DeleteTask(item);
}
}
- 用Sql删除
string strSql = "DELETE FROM Tasks WHERE IsFinished=1";
_dbContext.ExecuteSqlCommand(strSql);