La plupart des exemples que j'ai trouvés concernent Linq pour les entités, ce qui n'est pas ce dont j'ai besoin. J'ai un DataTable standard que j'ai besoin de modifier avant de retourner à l'appelant. Je peux parcourir la collection Table.Rows
normale ou quelque chose comme ça avec les nouvelles méthodes d'extension:Mise à jour des tables avec des expressions Linq
foreach (var x in table.AsEnumerable()) {
if (x.Field<int>("SomeField") > SomeValue)
x.SetField<string>("OtherField", "OtherValue");
}
Mais je suis toujours en boucle manuellement à travers toute la collection de la ligne. Pas forcément un gros problème, mais je me demande s'il existe une façon plus élégante d'accomplir cela avec Linq, en ce sens que j'ai besoin de créer une expression qui réponde aux résultats d'une requête et qui effectue une action arbitraire plutôt que Sélectionnez simplement les éléments du conteneur en cours d'énumération.
On dirait que vous obtenez le prix 'tumbleweed', s'il y en a un: D Merci pour le commentaire ... ouais, je pensais qu'il n'y avait aucun moyen de le faire, mais mon Linq-fu était un peu plus faible . – kprobst
Ha! Je viens de réaliser que cela a été demandé il y a presque un an. Et MS n'a toujours pas implémenté la méthode ForEach. – mikesigs