Requête LINQ sur DataTable en C# : comment effectuer une sélection de données ?
Bonjour à tous ! Je suis un développeur C# débutant, je travaille avec .NET Framework 3.5. J'ai un DataTable rempli à partir d'une base de données. Je dois effectuer une sélection de lignes selon une condition spécifique, par exemple, trouver tous les employés ayant un âge supérieur à 30 ans.
Le problème est que DataTable ne supporte pas LINQ directement. Quand j'essaie d'écrire quelque chose comme :
```csharp
DataTable dt = GetEmployeesTable();
var result = from row in dt
where row["Age"] > 30
select row;
```
Le compilateur génère une erreur : "Could not find an implementation of the query pattern for source type 'System.Data.DataTable'." Je comprends que DataTable n'est pas une collection d'objets, mais une table avec des lignes et des colonnes. Mais comment appliquer LINQ alors ?
J'ai entendu parler de la méthode AsEnumerable(), mais je ne suis pas sûr de comment l'utiliser correctement. Je me demande aussi si après la sélection, on peut convertir le résultat en DataTable ? Et comment accéder aux colonnes — par nom ou par index ?
Je serais reconnaissant pour une réponse détaillée.
No answers yet.
Connectez-vous pour laisser une réponse