删除实体框架中的项目列表

时间:2014-03-14 14:28:51

标签: c# asp.net entity-framework entity-framework-6

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

1 个答案:

答案 0 :(得分:1)

实体框架会跟踪您加载的项目,以便它可以检测到更改,并且您已经加载了一些这些对象。尝试:

dbContext.Entry(entity).State = EntityState.Detached;

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