Comment puis-je faire DataTable énumérable?
Je ne peux pas utiliser AsEnumerable() sur DataTable, je suis à l'aide de C# 3, mais je suis juste ciblage framework 2.0 (LINQ capacité avec l'aimable autorisation de LINQBridge). Est-il possible que je peux faire DataTable énumérable sans l'aide de Select() ?
bool isExisting = (bdsAttachments.DataSource as DataTable).Select().Any(xxx => (string)dr["filename"] == filename);
Mise à jour:
Je voulais faire ressembler à ceci:
bool isExisting = (bdsAttachments.DataSource as DataTable).AsEnumerable().Any(xxx => (string)dr["filename"] == filename);
J'obtiens une idée de la méthode de sélection de la DataTable renvoie une copie, je suis en train de penser à l'utiliser AsEnumerable, le problème est que je suis juste ciblage framework 2.0, Système.Les données.DataSetExtensions n'est pas disponible
BTW, j'ai essayé ceci: http://cs.rthand.com/blogs/blog_with_righthand/archive/2006/01/15/284.aspx, mais a des erreurs de compilation.
OriginalL'auteur Hao | 2009-06-25
Vous devez vous connecter pour publier un commentaire.
Vous permet d'appeler:
OriginalL'auteur Timothy Carter
IEnumerable<DataRow> rows = dataTable.AsEnumerable();
(System.Data.DataSetExtensions.dll)IEnumerable<DataRow> rows = dataTable.Rows.OfType<DataRow>();
(System.Core.dll)OriginalL'auteur abatishchev
Garder votre agent recenseur strictement 2.0:
Alors appel à linqbridge comme ceci:
ouais, vous m'avez pris entre deux modifications.
OriginalL'auteur Joel Coehoorn
Vous pouvez essayer de jeter la DataTable que IEnumerable et itérer sur l'ensemble:
Le foreach va parcourir la liste et la recherche du nom de fichier (je suppose que vous êtes à la recherche pour la première DataRow avec ce nom de fichier, pas toutes les lignes qui correspondent le nom de fichier).
Je pensais que l'idée était de ne PAS utiliser LINQ (d'où l' .NET Framework 2.0).
OriginalL'auteur Chris Thompson