使用Linq表达式更新表

时间:2010-05-26 22:39:20

标签: linq datatable

我发现的大部分例子都与实体有关,这不是我需要的。我有一个标准的DataTable,我需要在返回调用者之前修改它。我可以迭代正常的Table.Rows集合,或者使用新的扩展方法执行类似的操作:

foreach (var x in table.AsEnumerable()) {
    if (x.Field<int>("SomeField") > SomeValue)
        x.SetField<string>("OtherField", "OtherValue");
}

但是我仍在手动循环遍历整个行集合。不一定是一个大问题,但我想知道是否有一种更优雅的方式来实现这一点Linq以某种方式,在某种意义上我需要创建一个迭代查询结果并执行任意操作的表达式,而不是只需从枚举的容器中选择元素。

1 个答案:

答案 0 :(得分:1)

我认为你想知道的是,是否存在某种类似

的扩展方法
stuff.ForEach(x => x.Value = "new value"); 

不幸的是,没有这样的事情。当我开始使用LINQ to SQL时,我想要同样的东西。但不幸的是,你必须使用for循环。