使用LINQ和函数Lamba修改对象中的属性

时间:2010-03-31 17:47:00

标签: c# asp.net asp.net-mvc linq

我知道如何在LINQ中部署和检索单个元素,但是如何更改列表中的所有属性。在下面的行中,我只能修改一条记录,我会修改几条。

_ListaAcaoMenuInfo.Where(p => p.Id_acao == id).FirstOrDefault().Id_menu = 0;

由于

3 个答案:

答案 0 :(得分:6)

使用List的ForEach功能...

_ListaAcaoMenuInfo.Where(p => p.Id_acao == id).ToList().ForEach(item=>item.Id_menu=0);

答案 1 :(得分:2)

你不想要。 LINQ不能用于副作用。有一个foreach循环。

foreach (var x in collection.where(x => x.Foo = "Blah"))
   x.Foo = "Bar";

答案 2 :(得分:1)

使用foreach

var l = _ListaAcaoMenuInfo.Where(p => p.Id_acao == id).ToList();

foreach (Thing i in l)
{
   i.Id_menu = 0;
   //now use your Context object to save back to the database
}