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

时间:2014-04-17 00:53:55

标签: c#

我正在尝试使用此代码从表中删除行。但是得到错误。

MyEntity _er = new MyEntity();
  List<result> V_Result=  R_Enrollment.GetResult(V_studentid, DR.Cells[0].Value.ToString() );

            foreach(var lop in V_Result)
            {
                _er.results.Remove(lop);
            }
            _er.SaveChanges();
            _er.Dispose();

在_er.results.Remove(lop)上收到以下错误;

ex = {"The object cannot be deleted because it was not found in the ObjectStateManager."}

1 个答案:

答案 0 :(得分:2)

您的_er对象不知道您从其他函数调用中返回的项目。 您必须先附加对象,然后将其删除。

假设lop对象具有记录的主键,那么循环内部应该是什么:

_er.Attach(lop);
_er.results.Remove(lop);