Konvertieren DataTable zu LINQ: keine Abfrage mehrere Felder
Importieren einer Kalkulationstabelle, die ich gefüllt haben, ein DataTable-Objekt mit Daten und gibt die erwarteten Ergebnisse.
Versuch, dies in einem format, das ich problemlos Abfragen können, um die Suche für die problem-Datensätze habe ich Folgendes getan
public void Something(DataTable dt)
{
var data = from row in dt.AsEnumerable()
select row["Order"].ToString();
}
Funktioniert wie erwartet geben mir eine Liste der Bestellungen. Allerdings kann ich nicht hinzufügen weiterer Felder in diesem EnumerableRowCollection. Versucht, fügen Sie andere Felder wie folgt gibt mir eine Fehlermeldung
public void Something(DataTable dt)
{
//row["Version"] throws an error on me
var data = from row in dt.AsEnumerable()
select row["Order"].ToString(), row["Version"].ToString();
}
Fehler: "Eine lokale variable mit dem Namen 'Zeile' deklariert werden können, in diesem Umfang, da würde es eine andere Bedeutung geben "Reihe", die bereits in einem 'Kind' Umfang zu Spenden, etwas anderes"
Denke ich, dass ich brauchen, um alias den Namen der Spalte, aber ich habe kein Glück. Was vermisse ich hier?
- Es würde wirklich helfen, wenn Sie möchten, posten Sie den fehlerhaften code, anstatt nur den funktionierenden code, der nicht tut, was Sie will.
- War schon auf, dass 🙂
- Sie sind mit der variablename 'Zeile' zweimal. Vielleicht sollten Sie post ein komplettes Beispiel der code, fehlschlägt, so können wir Ihnen helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es klingt wie Sie ' re schreiben eine schlechte select-Anweisung. Versuchen Sie Folgendes:
Wird, erstellen Sie eine neue Sammlung von Anonym Typisierte Objekte, dass Sie können Durchlaufen und verwenden, wie gebraucht. Halten Sie im Verstand, obwohl, dass Sie möchten in der Lage sein, um zurückzukehren
data
von der Funktion. Wenn Sie brauchen, dass die Funktionalität, die Sie benötigen, um erstellen Sie einen konkreten Typ verwenden (an Stelle von anonymen Typen).Ich glaube, Sie sollten wählen Sie neues aus, wie diese Abfrage zum Beispiel:
Möchten Sie wahrscheinlich die folgende.