Zeilennummerierung mit LINQ-Partitionierung
Angesichts einer mit Musikern und ihren Instrumenten gefüllten Datentabelle möchten wir die Funktionalität der MSSQL-Abfrage mit emulieren LINQ, um die Positionsreihenfolge innerhalb jeder Instrumentengruppe zu bestimmen.
In LINQ können wir dies mit erreichen eine Kombination aus Gruppierungs- und Auswahloperationen:
var orderedBeatles = from b in beatles group b by b.inst into instGroup select new { b.id, b.inst, b.name, rn = instGroup.Count() };
Hier gruppieren wir die Beatles basierend auf ihren Instrumenten (inst) und verwenden die Count()-Methode, um die Zeilennummer (rn) für jedes Instrument zu berechnen. Anschließend erstellen wir für jeden Beatle einen anonymen Typ, einschließlich der ursprünglichen Eigenschaften sowie der berechneten Zeilennummer.
Diese LINQ-Abfrage liefert die folgende Ausgabe:
id | inst | name | rn ----------------------------- 1 | guitar | john | 1 2 | guitar | george | 2 3 | guitar | paul | 3 4 | drums | ringo | 1 5 | drums | pete | 2
Dieses Ergebnis spiegelt die Erwartungen wider Ausgabe der MSSQL-Abfrage, die mithilfe der LINQ-Partitionierung die gewünschte Zeilennummerierung innerhalb von Instrumentengruppen bereitstellt.
Das obige ist der detaillierte Inhalt vonWie implementiert man die Zeilennummerierung innerhalb von Gruppen mithilfe der LINQ-Partitionierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!