我正在尝试清除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;


您也可以尝试禁用对象跟踪,但这取决于您的应用程序要求。

08-03 22:04