2014-04-17 32 views
1

我想從使用此代碼的表中刪除行。但是會出錯。該對象無法刪除,因爲它沒有在ObjectStateManager中找到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."} 

回答

2

您的_er對象不知道您從其他函數調用中帶回的項目。 您必須先附加對象然後刪除它們。

這裏是應該是你的循環中,假設垂耳對象有記錄的主鍵:

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

我也建議檢查,以確保該對象是不是做上述前已經連接。 – CodeMilian

+0

謝謝,你的答案首先出來,解決了我的問題:) –

相關問題