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

C# 使用LINQ和Lamba函数修改对象中的属性,c#,asp.net,asp.net-mvc,linq,C#,Asp.net,Asp.net Mvc,Linq,朋友们 我知道如何在LINQ中部署和检索单个元素,但如何更改列表中的所有属性呢。在下面的行中,我只能修改一条记录,我会修改几条 _ListaAcaoMenuInfo.Where(p => p.Id_acao == id).FirstOrDefault().Id_menu = 0; 感谢使用foreach: 使用foreach: 你不会想的。LINQ不用于副作用。这有一个foreach循环 foreach (var x in collection.where(x => x.Foo =

朋友们

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

_ListaAcaoMenuInfo.Where(p => p.Id_acao == id).FirstOrDefault().Id_menu = 0;
感谢使用foreach:

使用foreach:


你不会想的。LINQ不用于副作用。这有一个foreach循环

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

你不会想的。LINQ不用于副作用。这有一个foreach循环

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

使用列表的ForEach函数

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

使用列表的ForEach函数

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

+1-我正要发布这个确切的代码。这是否可以持久化回数据库?是的,每个实体的Id_菜单属性都已更改。在DataContext上调用SaveChanges后,更改将被保留。谢谢兄弟,对我非常有用+1-我正要发布这个确切的代码。这是否可以持久化回数据库?是的,每个实体的Id_菜单属性都已更改。在DataContext上调用SaveChanges后,更改将被保留。谢谢兄弟,对我非常有用!你的意思是LINQ不应该直接用于更新信息,而只是为了获得?对。正如其他人所指出的,有一种ForEach方法可用于List,但LINQ本身用于过滤、检索、投影等。至于使用ForEach,有一种学派认为,ForEach循环比ForEach循环更可读,更易于维护,但事实是,如果你愿意,可以使用这个方法。你的意思是,LINQ不应该直接用于更新信息,而只是为了获得?对。正如其他人所指出的,有一种ForEach方法可用于List,但LINQ本身用于过滤、检索、投影等。至于使用,ForEach而不是ForEach循环,有一种学派认为循环更可读、更易于维护等。但事实是,如果您愿意,可以使用该方法。