2012-02-13 83 views
2

這讓我瘋狂。我收到錯誤實體框架4.1中缺少DeleteObject方法

object doesn't contain definition for DeleteObject.

這裏是我的代碼行產生一個錯誤:

ctx.Tanks.DeleteObject(Tank); 

我想從我的朋友已經創造了另一個edmx文件中引用另一個對象,然後一切都很好,DeleteObject存在。我不認爲我錯過了我的項目中的任何參考。

而項目本身包含edmx文件,我用DBContext來創建POCO。

任何想法?

+0

您是否都使用具有相同模板的相同版本的實體框架? – Chriseyre2000 2012-02-13 21:07:20

回答

21

DbContext API定義DbSet s不是ObjectSet s。 DbSet有一個Remove方法不是DeleteObject方法。您需要先決定要使用哪個API。如果它是ObjectContextDbContext

+0

謝謝。我昨天意識到。 – bobetko 2012-02-14 14:53:11

+0

因此,使用DBContext無法刪除父對象,並且像DeleteObject一樣在Objectcontext中執行相關的所有子對象? – DavieDave 2012-10-01 02:28:40

+0

@DavieDave你可以用'DbSet'。如果您爲子表配置了級聯刪除,則它將自動被刪除。 – Eranga 2012-10-01 04:01:16

0
[HttpPost] 
     public ActionResult Delete(IEnumerable<int> employeeIdsToDelete) 
     { 
      var lstemployee = _db.StudentEmployees.Where(x => employeeIdsToDelete.Contains(x.Id)); 
      foreach (var item in lstemployee) 
      { 
       _db.StudentEmployees.Remove(item); 
      } 
      _db.SaveChanges(); 

      return RedirectToAction("Index"); 
     } 
+0

已經有一個接受的答覆這個職位。如果您想提供幫助,請詳細說明您的答案和背景。 – CubeJockey 2015-05-01 16:47:45