LINQ实体框架-无法删除该对象,因为在ObjectStateManager中找不到该对象
我使用的是实体框架。 我正在尝试从linq获取结果,然后对其执行删除操作,如下所示:LINQ实体框架-无法删除该对象,因为在ObjectStateManager中找不到该对象,linq,entity-framework,Linq,Entity Framework,我使用的是实体框架。 我正在尝试从linq获取结果,然后对其执行删除操作,如下所示: IEnumerable<tblAVAL> tblval = db.tblVALs.Where(p => p.PgrID == prid); db.DeleteObject(tblval); db.SaveChanges(); 如何让它在返回超过1行的集合中删除 将集合传递给DeleteObject方法时,它会尝试映射集合对象,因为它是一个实体。您需要做的是迭代集合并
IEnumerable<tblAVAL> tblval = db.tblVALs.Where(p => p.PgrID == prid);
db.DeleteObject(tblval);
db.SaveChanges();
如何让它在返回超过1行的集合中删除 将集合传递给DeleteObject方法时,它会尝试映射集合对象,因为它是一个实体。您需要做的是迭代集合并删除项
foreach( var tblav in db.tblVALs.Where(p => p.PgrID == prid))
db.DeleteObject(tblav);
db.SaveChanges();
EntityFramwork不支持批量删除、更新和插入。具有Linq to Sql和EntityFramework的实现,但没有所有功能。也许所做的符合你的需要。只是一个评论:你为什么称你的班级为“TBL”?你为什么把外键留在课堂上?
foreach( var tblav in db.tblVALs.Where(p => p.PgrID == prid))
db.DeleteObject(tblav);
db.SaveChanges();