>我有一个数据表,其中包含"选择"和"值"两列。
Select Value
0 213
0 314
0 282
我有一个名为 Ids={213,314} 的整数数组如果 Id 的值出现在数据表列的"值"中,则更新"选择"列为 1。我必须使用 Linq 来执行此操作。请帮忙
Linq 用于查询,而不是用于更新。所以你必须分两步完成任务。首先是查询应更新的行:
var rows = from r in table.AsEnumerable()
where Ids.Contains(r.Field<int>("Value"))
select r;
// Or lambda syntax
// rows = table.AsEnumerable().Where(r => Ids.Contains(r.Field<int>("Value")))
第二部分是更新选定的行,这不涉及 Linq:
foreach(var row in rows)
row.SetField("Select", 1);