实体知识问题。给定以下代码:
...
var entitiesToRemove = dbSet.Where (entity => entity.TimeToLive > 5);
dbSet.RemoveRange(entitiesToRemove);
var resultEntities = dbSet.Where(entity => /* some condition that will also match before deleted entities*/);
...
问题:预先删除的实体是否也包含在resultEntities
中?我必须在 dbSet.RemoveRange
之后调用 DbContext.SaveChanges
吗?
谢谢
最佳答案
在进行进一步处理之前,您需要执行 dbcontext.SaveChanges()。 在 dbSet.RemoveRange(entitiesToRemove) 中,EF 只是将这些实体标记为要删除。只有在您调用 SaveChanges() 后才会反射(reflect)在数据库上。
关于c# - 删除和查询,没有 DbContext.SaveChanges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41674643/