FAZENDO UPDATE EM UMA LIST<T>

PERCIFILHO 27/04/2016 10:55:09
#461497
Parfa fazer um Udpate em uma List<T>, por acaso não deveria ser assim?

List<Mensagem> alterar = new List<Mensagem>(new Mensagem().GetAll().Where(x => x.De == _contact && x.Para == _user && x.Lido == [Ô]NAO[Ô]).ToList());
alterar.ForEach(x => x.Lido = [Ô]SIM[Ô]);

Não está fazendo nada. Simplesmente não altera, não aparece erro nenhum.
DS2T 27/04/2016 11:45:21
#461505
Resposta escolhida
Se você quer atualizar todos os itens da sua lista [Ô]alterar[Ô] para o valor [Ô]SIM[Ô] na propriedade Lido, isso está correto.

Fiz até um pequeno exemplo pra ver a síntaxe... e aqui deu tranquilo.

            List<Mensagem> mensagens = new List<Mensagem>();
mensagens.Add(new Mensagem(1, [Ô]DS2T[Ô]));
mensagens.Add(new Mensagem(2, [Ô]GOKU[Ô]));

mensagens.ForEach(x => {
x.Id = 2; x.texto = [Ô]GOHAN[Ô];});



PERCIFILHO 27/04/2016 13:43:45
#461518
Faltava um detalhe:

List<Mensagem> alterar = new Mensagem().GetAll().Where(x => x.De == _contact && x.Para == _user && x.Lido == [Ô]NAO[Ô]).ToList();
if (alterar.Count != 0)
{
alterar.ForEach(x => { x.Lido = [Ô]SIM[Ô]; [txt-color=#0000f0]x.Update(); [/txt-color]});
}


Agora funcionou. Obrigado DS2T.
Tópico encerrado , respostas não são mais permitidas