【发布时间】:2016-07-03 09:23:29
【问题描述】:
大家好,我正在使用此代码删除表中的多条记录。但它给了我一个错误。
“无法删除该对象,因为它在 对象状态管理器”
我是 EF 新手,请帮我看看我的代码出了什么问题。
listOfEntities = 我要从表中删除的记录列表
U = 它是一个类型实体
using (var db = new DMContext())
{
db.SaveChanges();
}
【问题讨论】:
大家好,我正在使用此代码删除表中的多条记录。但它给了我一个错误。
“无法删除该对象,因为它在 对象状态管理器”
我是 EF 新手,请帮我看看我的代码出了什么问题。
listOfEntities = 我要从表中删除的记录列表
U = 它是一个类型实体
using (var db = new DMContext())
{
db.SaveChanges();
}
【问题讨论】:
表示该实体未附加。你可以这样试试
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();
【讨论】: