Ich versuche, eine einfache LINQ-Abfrage für die Columns-Eigenschaft einer DataTable durchzuführen:
from c in myDataTable.Columns.AsQueryable()
select c.ColumnName
Was ich jedoch bekomme, ist Folgendes:
Es konnte keine Implementierung des Abfragemusters für den Quelltyp 'System.Linq.IQueryable' gefunden werden. 'Auswählen' nicht gefunden. Geben Sie den Typ der Bereichsvariablen 'c' explizit an.
Wie kann ich die DataColumnCollection dazu bringen, mit LINQ gut zu spielen?
c#
linq
datatable
asqueryable
datacolumncollection
David Brown
quelle
quelle
Sie könnten auch verwenden:
var x = from DataColumn c in myDataTable.Columns select c.ColumnName
Es wird effektiv dasselbe tun wie Daves Code: "In einem Abfrageausdruck wird eine explizit typisierte Iterationsvariable in einen Aufruf von Cast (IEnumerable) übersetzt", so der
Enumerable.Cast<TResult> Method
MSDN-Artikel.quelle
Mit der Syntax der Linq-Methode:
var x = myDataTable.Columns.Cast<DataColumn>().Select(c => c.ColumnName);
quelle