Изменение свойств в объекте с помощью LINQ и функций Lamba - PullRequest
1 голос
/ 31 марта 2010

Друзья

Я знаю, как развернуть и получить один элемент в LINQ, но как я могу изменить все свойства в списке. В строке ниже я могу изменить только запись, я бы изменил несколько.

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

Спасибо

Ответы [ 3 ]

6 голосов
/ 31 марта 2010

Использование функции ForEach для списка ...

_ListaAcaoMenuInfo.Where(p => p.Id_acao == id).ToList().ForEach(item=>item.Id_menu=0);
2 голосов
/ 31 марта 2010

Вы не хотели бы. LINQ не должен использоваться для побочных эффектов. Для этого есть цикл foreach.

foreach (var x in collection.where(x => x.Foo = "Blah"))
   x.Foo = "Bar";
1 голос
/ 31 марта 2010

Использование 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...