如何在linq中使用update语句一次更新两行以上

how to use update statement for updating more than two rows at a time in linq

我有一个 table,我需要一次更新 2 行。

我的 SQL 查询将如下所示:

UPDATE tablename SET columnname=value WHERE tablename.id in (1,2)

我在 LINQ 中需要同样的东西。

提前致谢。

LINQ to SQL 中没有这样的东西。它将始终一次更新一行。

当然,你可以做一个

foreach (var key in keys)
{
var r = db.Table.Single(i=>i.ID == key);
r.xyz = value;
}
db.submitchanges()

但本质上,这将使用单个更新语句更新每一行。尽管如此,在一个事务中,它将实现与您的更新语句相同的效果,但会根据记录数

产生显着的性能损失