Linq ForEach在MVC中删除

时间:2018-08-26 20:15:39

标签: c# entity-framework linq

我想在我的mvc应用程序中使用linq删除多个记录。我写了下面的代码

将所选项目存储在列表中。我写了下面的代码

List<int> TaskIds = chkId.Select(x => int.Parse(x)).ToList();

我编写了以下代码以删除多条记录

db.Generals.Where(d => d.IID == TaskIds.ForEach(p => db.Generals.Remove(p.IID)));

但是Remove(p.IID)是不正确的语法。我如何找到要删除的写入ID值。任何线索

谢谢

3 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

db.Generals.Where(d => TaskIds.Contains(d.IID)).Delete();

 db.Generals.Where(d => TaskIds.Contains(d.IID)).ToList().ForEach(db.DeleteObject);
    db.SaveChanges();

答案 1 :(得分:0)

附加并删除它们。我认为IID是关键字段。

  foreach(chkId.Select(x => int.Parse(x)中的int id)
{
  var general =新的General {IID = id};
  db.Generals.Attach(general);
  db.Generals.Remove(general);
}
db.SaveChanges();
 

答案 2 :(得分:0)

var modellist = db.mymodel.Where(s => s.ID == ID).ToList();

foreach (var removemodel in modellist )
{
   db.modellist.Remove(removemodel );
}
db.SaveChanges();