实体知识问题。给出以下代码:

...
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中?我必须在DbContext.SaveChanges之后打dbSet.RemoveRange吗?

谢谢

最佳答案

您需要先执行dbcontext.SaveChanges(),然后再进行进一步处理。
在dbSet.RemoveRange(entitiesToRemove)中,EF仅将这些实体标记为要删除。仅在调用SaveChanges()之后,它将反映在db上。

关于c# - 删除和查询,没有DbContext.SaveChanges,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41674643/

10-13 06:54