Ich habe die folgende Tabellenstruktur. Ich möchte Wert für Schlüssel für jeden Gruppennamen abrufen und einfügen es speichern sequenziell in einer ModellklasseC# Konvertieren von Spalten in Zeilen mit Linq?
die Tabellendaten wurden mit einem ExecuteQuery
gelesen und in einer Liste von Klassenobjekt gespeichert, im folgenden Beispiel werde ich habe 4 Zeilen zurückgegeben. Ich muss es in 2 Zeilen konvertieren, wobei die Spaltenwerte als Zeilen eingehen.
ich den folgenden Code haben jetzt geschrieben, aber gibt es eine andere Möglichkeit, es zu überprüfen, ohne zu sagen Key == "GroupSpecificProperty1"
explizit überprüft?
Wenn es eine dritte Kategorie später hinzugefügt ist, sollte ich nicht den Code zu ändern haben
Result = results.GroupBy(p => p.GroupName)
.Select(g => new FinalModel()
{
GroupName = g.Select(p => p.GroupName).FirstOrDefault(),
GroupSpecificProperty1 = g.Where(q => q.Key == "GroupSpecificProperty1").Select(v => v.Value).Cast<string>().FirstOrDefault(),
GroupSpecificProperty2= g.Where(q => q.Key == "GroupSpecificProperty2").Select(v => v.Value).Cast<string>().FirstOrDefault(),
}).ToList();
Ist es möglich, dass Sie das Thema nach einer anderen Frage geschrieben haben? Kann nicht dorthin kommen, wo der 'Spalten in Zeilen konvertieren'-Teil ist !? – C4u
Wenn eine dritte Kategorie hinzugefügt wird, müssen Sie 'FinalModel' ändern, es sei denn, Sie möchten das durch einen dynamischen Typ ersetzen. Das oder 'FinalModel' könnte ein' Dictionary 'enthalten. –
juharr
Hmm, guter Punkt, siehst du einen anderen Weg, um mein Ergebnis zu erreichen als das, was ich geschrieben habe? – KeenUser