我想用EF删除一个大的项目列表,所以我试图逐个删除它们,但这需要很长时间.
我尝试使用.RemoveAll()
我的列表中的方法,但它不更新数据库[仅从已加载的实体中删除]
所以我使用a SqlCommand
从数据库中删除它们,我.RemoveAll()
用来防止EF unexpected number of rows update (0)
异常.
码:
dbContext.Database.ExecuteSqlCommand("DELETE FROM xxx WHERE xxx");
loadedEntity.subItems.ToList().RemoveAll(r => true);
dbContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
我的问题:有更好的方法吗?