2012-10-10 44 views
1

我有以下LINQ:實體框架4 DeleteObject的不顯示

 var wcd = dbContext.Programs.Where(p => p.Id == Id).ToList(); 
    dbContext.DeleteObject(wcd); 
    SaveChanges(); 

我得到一個消息說我沒有爲DeleteObject的定義在我的模型。 雖然我可以做SaveChanges()等。

我試過如下:

 var wcd = dbContext.Programs.Where(p => p.Id == Id).ToList(); 
     dbContext.Programs.Remove(wcd); 

,但我得到以下 最佳重載的方法匹配「System.Data.Entity.DbSet 卸下襬臂具有一些無效參數

回答

4

它是一個的DbContext?如果是的話你將需要使用Remove這是你DbSet的一部分:

編輯:

你通過你的列表需要循環,然後逐個刪除:

foreach (var wc in wcd.ToList()) 
{ 
    dbContext.Programs.Remove(wc); 
} 
dbContext.SaveChanges(); 
+0

VAR WCD =的DbContext .Programs.Where(p => p.Id == Id).ToList(); dbContext.pasl_WaterChemistryDetail.Remove(wcd);是我嘗試但得到的錯誤:最好的重載方法匹配'System.Data.Entity.DbSet .Remove有一些無效的參數 –

+0

更新 - 你需要遍歷你的列表並單獨刪除它們.. –