删除多行时出错"由于在ObjectStateManager中找不到对象,因此无法删除该对象。"

时间:2016-03-17 07:01:11

标签: c#-4.0 entity-framework-4

嘿所有人我正在使用此代码删除表中的多个记录。但它给了我一个错误。

  

"无法删除该对象,因为在该对象中找不到该对象   ObjectStateManager"

我是EF新手,请帮助我解释代码中的错误。

  

listOfEntities =我想从表中删除的记录列表
   U =它是一个类型实体

using (var db = new DMContext())
{
  db.SaveChanges();
}

1 个答案:

答案 0 :(得分:1)

这意味着该实体未附加。你可以试试这个

using (var db = new DMContext())
{
    db.YourTableEntity.Attach(EntityToRemove); 
    db.YourTableEntity.Remove(EntityToRemove);
    db.SaveChanges();
}

您无法删除已分离的实体,因此您需要先粘贴它们,然后才能将其删除。

删除多条记录

foreach (var entity in entities)
{
    Set<T>().Attach(entity);
    Set<T>().Remove(entity);
}

SaveChanges();