是否可以更新/删除多个实体,例如
[HttpPost, ActionName("removeresponsible")]
public ActionResult removeresponsibleaction(Responsible modelo)
{
Responsible responsible = db.Responsibles.Single(x => x.responsible_id == modelo.responsible_id);
db.Responsibles.Remove(responsible);
db.SaveChanges();
ViewBag.responsible = db.Responsibles.ToList();
return View("responsiblemanager");
}
此代码适用于负责一个唯一ID的单个代码,但如果有许多负责同一个ID,我该怎么办呢?例如,我知道使用SQL它会是这样的“从表中删除,其中responsible_id = 3”。
答案 0 :(得分:1)
如果您使用的是Entity Framework 6
,则可以使用RemoveRange
方法:
var responsibles = db.Responsibles.Where(x => x.responsible_id == modelo.responsible_id).ToList();
db.Responsibles.RemoveRange(responsibles);
答案 1 :(得分:0)
如果您不使用EF 6,则必须循环浏览模型列表,并分别删除每个模型。
e.g。
[HttpPost, ActionName("removeresponsible")]
public ActionResult removeresponsibleaction(IEnumerable<Responsible> models)
{
foreach(var model in models)
{
Responsible responsible = db.Responsibles.Single(x => x.responsible_id == model.responsible_id);
db.Responsibles.Remove(responsible);
}
db.SaveChanges();
ViewBag.responsible = db.Responsibles.ToList();
return View("responsiblemanager");
}