2012-10-10 43 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

更新 - 你需要遍历你的列表并单独删除它们.. –