EF 6在标记为已删除时从集合中删除对象
本文关键字:删除 对象 集合 记为 EF | 更新日期: 2023-09-27 18:29:54
我遵循本教程:
EF 6断开场景
foreach (var foo in item.Foos)
{
if (foo.State == PocoState.Deleted)
{
ctx.Entry(foo).State = EntityState.Deleted;
}
}
ctx.SaveChanges();
但我总是得到InvalidOperationException,因为"foo"是从项中删除的。呼叫ctx之前的Foos。SaveChanges();
迭代列表时不能从列表中删除。ToList
将解决这个问题,因为您将迭代一个"副本"而不是列表本身。
foreach (var foo in item.Foos.ToList())
{
if (foo.State == PocoState.Deleted)
{
ctx.Entry(foo).State = EntityState.Deleted;
}
}
ctx.SaveChanges();