我正在尝试清除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();
最佳答案
实体框架会跟踪您已加载的项目,以便可以检测到更改,并且您已经加载了其中的一些对象。尝试:
dbContext.Entry(entity).State = EntityState.Detached;
您也可以尝试禁用对象跟踪,但这取决于您的应用程序要求。