我想在我的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值。任何线索
谢谢
答案 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();