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

时间:2015-02-11 12:32:25

标签: linq linq-to-sql

我有一张桌子,我需要一次更新2行。

我的SQL查询将如下所示:

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

我在LINQ中也需要相同的东西。

提前致谢。

1 个答案:

答案 0 :(得分:1)

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

当然,你可以做一个

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

但实质上,这将使用单个更新语句更新每一行。在一个事务中,尽管如此,它将实现与更新语句相同但根据记录数显着降低性能