我有一张桌子,我需要一次更新2行。
我的SQL查询将如下所示:
UPDATE tablename SET columnname=value WHERE tablename.id in (1,2)
我在LINQ中也需要相同的东西。
提前致谢。
答案 0 :(得分:1)
LINQ to SQL中没有这样的东西。它将始终一次更新一行。
当然,你可以做一个
foreach (var key in keys)
{
var r = db.Table.Single(i=>i.ID == key);
r.xyz = value;
}
db.submitchanges()
但实质上,这将使用单个更新语句更新每一行。在一个事务中,尽管如此,它将实现与更新语句相同但根据记录数显着降低性能