2009-10-14 7 views
3

J'ai besoin de mettre à jour toutes les propriétés dans un objet de liste en utilisant linq.Mettre à jour toutes les propriétés dans la liste en utilisant linq

Par exemple: J'ai une liste d'utilisateurs avec (Nom, Email, No de téléphone, ...) comme propriétés. Je vais obtenir la liste des utilisateurs (List<Users>) de la base de données qui est rempli avec toutes les propriétés sauf Email. J'ai besoin de mettre à jour toute la propriété Email dans la liste après avoir récupéré de la base de données avec un email dans la session.

Comment puis-je le faire?

Répondre

9

Vous devriez être en mesure de le faire simplement par ForEach ..

users.ForEach(user => user.email = sessionEmail); 

ou pour plusieurs propriétés ..

users.ForEach(user => 
{ 
    user.email = sessionEmail; 
    user.name = "Some Person"; 
    ... 
}); 
+0

puis-je utiliser && pour mettre à jour plusieurs propriétés? – Prasad

+0

C'est parfait. Merci Quintin – Prasad

1

Si j'ai bien compris, vous souhaitez récupérer tous les utilisateurs auxquels aucun e-mail n'a été affecté. Alors, que quelque chose comme ceci:

var users=dataContext.Users.Where(user => user.email==null).ToList(); 
foreach(var user in users) { 
    user.Email="[email protected]"; //Or, choose a different email for each user 
} 

Et si vous souhaitez mettre à jour les informations des utilisateurs vers la base de données:

dataContext.SubmitChanges(); 
Questions connexes