Ich habe eine Tabelle, 'lasttraces', mit den folgenden Feldern.
Id, AccountId, Version, DownloadNo, Date
Die Daten sehen folgendermaßen aus:
28092|15240000|1.0.7.1782|2009040004731|2009-01-20 13:10:22.000
28094|61615000|1.0.7.1782|2009040007696|2009-01-20 13:11:38.000
28095|95317000|1.0.7.1782|2009040007695|2009-01-20 13:10:18.000
28101|15240000|1.0.7.1782|2009040004740|2009-01-20 14:10:22.000
28103|61615000|1.0.7.1782|2009040007690|2009-01-20 14:11:38.000
28104|95317000|1.0.7.1782|2009040007710|2009-01-20 14:10:18.000
Wie kann ich in LINQ to SQL nur die letzte letzte Spur jeder AccountId abrufen (die mit dem höchsten Datum)?
c#
.net
linq
linq-to-sql
Bas Jansen
quelle
quelle
Antworten:
Wenn Sie nur das letzte Datum für jedes Konto möchten, verwenden Sie Folgendes:
Wenn Sie die gesamte Aufzeichnung möchten:
quelle
method-chain
Lösung dafür posten könnten .(from n in table ...).First()
?First()
Aufruf sollte für deng.Order...
Ausdruck (Unterabfrage) gelten.Hier ist eine einfache Möglichkeit, dies zu tun
Schauen Sie sich auch diesen großartigen LINQ-Ort an - LINQ to SQL-Beispiele
quelle
Wenn Sie die gesamte Aufzeichnung möchten, ist hier ein Lambda-Weg:
quelle
Es könnte so etwas sein wie:
quelle
Gehen Sie einen einfachen Weg, um dies zu tun: -
Erstellt eine Klasse für die folgenden Informationen
Gehen Sie zur Liste der Sites, die in einem ArrayList-Objekt gespeichert sind. Und folgende Abfrage ausgeführt, um sie in absteigender Reihenfolge nach Ebene zu sortieren.
Nachdem ich die Sammlung in absteigender Reihenfolge sortiert hatte, schrieb ich den folgenden Code, um das Objekt zu erhalten, das als oberste Zeile kommt
Das funktionierte wie Charme.
quelle