Ich habe eine Datenbank mit 4 Feldern, die etwa wie folgt aussieht:unterschiedlichem Spaltenwert mit LINQ
ID DeviceId Location Date
1 A ... 2
2 A ... 1
3 B ... 2
Für jeden DeviceId
ich die Lage aus dem Datensatz will mit dem höchsten Datum. Ich kann den deutlichen DeviceId
zu bekommen ist wie folgt aus:
// get all locations
var locations = Session.Query<Location>().ToList();
//Get the latest used unique deviceId's
var distinctDeviceIdsByDate = (
from loc in locations
orderby loc.DeviceId, loc.Date descending
select loc.DeviceId).Distinct().ToList();
Ich würde dann die gewünschten Zeilen zu erhalten verwenden beitreten, aber das wird nicht gut tun, da ich nichts anderes als die DeviceId
bekommen kann 's und kann daher nicht identifizieren, welche Zeilen ausgewählt werden sollen. und wenn ich versuche, folgendes auszuwählen:
select loc
Ich kann nur die Zeilen mit eindeutigen Kombinationen aller Spalten erhalten. Ich bin mir sicher, dass es eine einfache Lösung gibt, aber ich fürchte, ich kann es jetzt nicht herausfinden.
So werden für jedes Gerät ID Sie den Speicherort aus dem Datensatz mit dem höchsten Datum wollen? –
Ja, genau! Ich werde die Frage bearbeiten, um zu sagen, was du gesagt hast. – dansv130
Sie sollten die Frage nicht bearbeiten, um die Antwort aufzunehmen. Sie sollten denjenigen markieren, den Sie für richtig halten oder Ihnen am meisten helfen. – rae1