C# 在ASP.NETMVC5项目中通过LINQ查询删除条目列表

C# 在ASP.NETMVC5项目中通过LINQ查询删除条目列表,c#,linq,C#,Linq,我是LINQ查询的初学者。在我的ASP.NETMVC5项目中,我需要从数据库中删除一个行列表。我正在从UI获取需要删除的ID列表。以下是我目前的工作 private ApplicationDbContext _context; public CityController() { _context = new ApplicationDbContext(); } public ActionResult Delete(IEnumerable<int> li

我是LINQ查询的初学者。在我的ASP.NETMVC5项目中,我需要从数据库中删除一个行列表。我正在从UI获取需要删除的ID列表。以下是我目前的工作

private ApplicationDbContext _context;
public CityController()
{
    _context = new ApplicationDbContext();
}            

public ActionResult Delete(IEnumerable<int> listOfCityIdToDelete)
{
    _context.Cities
    .Where(c => listOfCityIdToDelete.Contains(c.Id))
    .ToList()
    .ForEach(/*What do I put here?*/);
    return View();
}
private ApplicationDbContext\u上下文;
公共城市控制器()
{
_context=新的ApplicationDbContext();
}            
公共行动结果删除(IEnumerable listOfCityIdToDelete)
{
_背景.城市
其中(c=>listOfCityIdToDelete.Contains(c.Id))
托利斯先生()
.ForEach(/*我在这里放什么?*/);
返回视图();
}

我不确定每一条生产线应该安装什么

ForEach
不是Linq命令。这样做:

var cities = _context.Cities
    .Where(c => listOfCityIdToDelete.Contains(c.Id));
_context.Cities.RemoveRange(cities);
_context.SaveChanges();

对于
IEnumerable
u可以使用
除了
,因此当我们有一条记录时,我们应该使用
删除
。但是如果我们正在传递一个列表,我们应该使用
删除范围
。嗯?没错。还有一个
AddRange
,它做了同样的事情,但是对于insertsTill现在只添加一行,我做了类似
\u context.cities.Add(“行”)
然后调用
\u context.savechanges