Frage

Ich habe eine Tabelle, wo ein Datensatz sieht wie folgt aus

varchar(255) Name  
varchar(255) Text  
varchar(255) Value 

Name ist der DDL Name, Text ist, was angezeigt wird, und Wert wird bei der Auswahl zurückgegeben. Es gibt zwischen einer und zwanzig Optionen für jeden Namen. Ohne wie ein Cursor obwohl jede Option läuft, ist es eine Möglichkeit, eine Liste von Objekten zu ziehen, eine für jeden eindeutigen DDL-Namen, mit Linq und C #?

Eine Probe der Daten:

Beds   '4 (10)'  4
Beds   '5 (1)'   5
Beds   '7 (1)'   7
Baths  'NA (13)' NULL
Baths  '0 (1)'   0
Baths  '1 (13)'  1

Ich dachte an eine äußere wählen zu tun, die einzigartigen Namen zu bekommen, dann eine innere wählen Sie die Liste der Optionen für sie zu erhalten, dann wieder den Satz als eine Liste aus einer Reihe von Listen.

War es hilfreich?

Lösung

Sicher, benutzen Sie einfach group ... by

var query = from item in context.TableName
            group item by item.Name;

Als Alternative ohne Abfrage-Ausdruck:

var query = context.TableName.GroupBy(item => item.Name);

Das Ergebnis wird eine IQueryable<IGrouping<string, ItemType>> sein. Jedes Element im Ergebnis wird eine Gruppierung : a. Schlüssel und eine Folge von Elementen mit diesem Schlüssel

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top