Abfragt Datacolumncollection mit LINQ
-
04-07-2019 - |
Frage
Ich versuche, eine einfache LINQ-Abfrage auf der Spalten-Eigenschaft eines Datatable ausführen:
from c in myDataTable.Columns.AsQueryable()
select c.ColumnName
Doch was ich bekommen, ist dies:
Es konnte keine Implementierung des Abfragemuster für Quelltyp ‚System.Linq.IQueryable‘ gefunden. ‚Select‘ nicht gefunden. Betrachten wir ausdrücklich auf die Art der Bereichsvariablen ‚c‘ angeben.
Wie kann ich die Datacolumncollection mit LINQ schön zu spielen?
Lösung
Wie wäre:
var x = from c in dt.Columns.Cast<DataColumn>()
select c.ColumnName;
Andere Tipps
Sie können auch verwendet werden:
var x = from DataColumn c in myDataTable.Columns
select c.ColumnName
Es wird die gleiche wie Daves Code effektiv tun: „in einem Abfrage-Ausdruck, eine explizit eingegebene Iterationsvariable übersetzt auf einen Aufruf von Besetzung (IEnumerable)“, nach dem Enumerable.Cast<TResult> Method
MSDN-Artikel.
Mit Linq Methode Syntax:
var x = myDataTable.Columns.Cast<DataColumn>().Select(c => c.ColumnName);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow