我正在尝试清除Entity Framework集合中的所有项目,在这种情况下,从盘子中删除所有食物。任何想法如何解决以下问题 - 下面的代码生成错误:
发生了'System.InvalidOperationException'类型的异常 EntityFramework.dll但未在用户代码中处理
附加信息:无法引用实体对象 IEntityChangeTracker的多个实例。
Plate selPlate = (Plate)Session["selPlate"];
foreach (FoodForPlate f in selPlate.FoodForPlates)
{
context.Entry(f).State = System.Data.Entity.EntityState.Deleted;
}
context.SaveChanges();
bindstats();
UpdatePanel1.Update();
答案 0 :(得分:1)
实体框架会跟踪您加载的项目,以便它可以检测到更改,并且您已经加载了一些这些对象。尝试:
dbContext.Entry(entity).State = EntityState.Detached;
您也可以尝试禁用对象跟踪,但这取决于您的应用程序要求。