我有一个数据表,其中有两列Select和Value。
Select Value
0 213
0 314
0 282
我有一个名为Ids = {213,314}的整数数组 如果Ids的值出现在数据表列"值"然后更新"选择" 列为1。 我必须使用Linq这样做。请帮忙
答案 0 :(得分:0)
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);