Fragensteller
LINQ to SQL Tabelle ausgeben grouppiert nach bestimmten Spalten.

Allgemeine Diskussion
-
Hallo Zusammen.
ich habe eine Liste von Datentyp T, also Liste<T> Mliste = new List<T>.
die Liste gibt eine Tabelle im View aus. Ich möchte ein Query schreiben um nach bestimmten Spalten die Tabelle neu auszugeben. Also
Das ist die Haupttabelle:
S1 S2 S3
-----------
A A A
A A A
A A B
A S E
Ausgabe soll so sein:
S1 S2 Anzahl
A A 3
das heisst die Ausgabe ist gruppiert nach Spalte 1 und 2 (S1, S2).
die Spalte Anzahl ist eine Neue Spalte die ausgibt, wieviel Datensätzte es gibt, die gleich sind.
Meine Lösung war bis jetzt:
string sortExpression = "S1, S2"; var q2 = MeineListe.AsQueryable() .GroupBy(sortExpression) .Select("new(" + sortExpression + ")");
Leider ich bekomme einen Fehler:
das Casting von IQueryable to List<T> ist nicht möglich.
was mache ich hier falsch. Ich bitte um Hilfe.
Vielen Dank
abu
- Typ geändert Robert BreitenhoferModerator Mittwoch, 25. Juli 2012 12:02 Keine Rückmeldung des Fragenstellender
Alle Antworten
-
wenn du Select am schluss des statements schreibts kommt ja keine liste wieder raus, sonder das was im select steht.
wenn überhaupt müsstest du am schluss noch ein .ToList() anfügen.
Allerdings verstehe ich deinen code gar nicht. wenn du eine liste neu anordnen möchtest wäre es wahrscheinlich mit einem lambda ausdruck einfacher.
MyList.GourpBy(P => P.Attribute)
***********************************************************
-
****************************************************************************************************************
Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
****************************************************************************************************************Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.