verwendetes Datenbanksystem: <MS2008Express>
Hallo, was mache ich falsch?
In der Linq-Anleitung steht, es müßte so gehen. Aber wahrscheinlich ist das DataSet typisiert.
//// geht
IEnumerable<DataRow> query = (IEnumerable<DataRow>)(from o in DsAftVerwalt.Tables["Movdaten"].AsEnumerable()
where o["AGStatus"].ToString().Trim() == agStatus
select o);
//// geht nicht
IEnumerable<DataRow> query = ((IEnumerable<DataRow>)(from o in DsAftVerwalt.Tables["Movdaten"].AsEnumerable()
where o["AGStatus"].ToString().Trim() == agStatus
select new{Spalte1 = o[0]}));
foreach (DataRow row in query)
{
}
Bei der Abfrage bekomme ich folgenden Fehlermeldung:
{System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Data.DataTableExtensions.AsEnumerable(DataTable source)
at WpfDatenfinder.Form.Auftr...}
ALso ich denke es hat damit zu tun, das in der query die Source, d.h. die eigentliche Datentabelle == null ist. Warum aber? Wie mache ich die Abfrage anders damit das passt? Eigentlich möchte 4 Spalten in eine neue Tabelle laufen lassen, habe aber zum testen erst mal nur ein Spalte verwendet.
Habe mir mal den Eintrag angesehen.
Funzt aber so nicht.
Was muss ich noch beachten?
Das Du nach so langer zeit immer noch keine vernünftige Fehlermeldung gibst ist schon schlimm.
Bei der Abfrage bekomme ich folgenden Fehlermeldung:
{System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Data.DataTableExtensions.AsEnumerable(DataTable source)
at WpfDatenfinder.Form.Auftr...}
Also ich denke es hat damit zu tun, das in der query die Source, d.h. die eigentliche Datentabelle == null ist. Warum aber? Wie mache ich die Abfrage anders damit das passt? Eigentlich möchte 4 Spalten in eine neue Tabelle laufen lassen, habe aber zum testen erst mal nur ein Spalte verwendet.
Ich habe mir zum behelfen erst mal alle Spalten mit LinQ in eine Tabelle laufen lassen und dann die überflüssigen Spalten entfernt.
Kann ich einzlne Spalten überhaupt gleich per LinQ über eine Abfrage in eine Tabelle fahren?
Du hast die Begründung in dem von dir verlinkten Thread gelesen?
Du erzeugst einen anonymen Typen, also keine DataRow.
Das es dann nicht gehen kann ist doch irgendwie klar, oder?