如何使用LINQ更新具有相同值的所有记录?

时间:2010-08-19 11:17:15

标签: c# linq-to-sql

任何人都可以帮我这个:我想从数据表中选择所有记录,例如sid = 123,然后用sid = 456保存它们。

如何使用LINQ执行此操作?

1 个答案:

答案 0 :(得分:8)

items.Where(i=>i.sid == 123).ToList().ForEach(i=>i.sid = 456);

或者更确切地说使用普通的foreach

foreach (var item in items.Where(i=>i.sid == 123))
{
    item.sid = 456
}

编辑:对不起,我没注意到那个数据表。你不能直接在数据表上查询行(它们没有实现IEnumerable)

但你可以做这样的事情

using System.Data; //System.Data.DataSetExtensions.dll
datatable.AsEnumerable().Where(row=>row.Field<int>("sid") == 1234)