DELETE From Table
WHERE ID in (1,2,3, ... )
有什么方法可以在LINQ
中产生以下查询?我尝试了RemoveRange
,但是从SQL Server Profiler
发现它实际上是分别删除了记录
答案 0 :(得分:0)
您可以先定义要删除的项目,然后遍历列表,一一删除:(请注意,整个操作必须在数据库上下文范围内完成,否则将无效)
var toRemove = list.Where(l => l.id == 1 || l.id == 2 || l.id == 3);
foreach (var item in toRemove)
{
databasecontext.table.Remove(item); //replace databasecontext.table with your own context and table name
}
答案 1 :(得分:0)
您可以单行编写
table.RemoveAll(tbl => tbl.id == 1 || tbl.id == 2 || tbl.id == 3);
希望这会有所帮助。