2010-11-25 4 views
2

Ich muss das neueste Datum aus meiner Datenbanktabelle auswählen und in einer Variablen speichern. Ich bin mit linq zu Entitäten nicht sehr vertraut, aber ich gab es selbst, aber ich bin nur so weit gekommen.Wählen Sie den neuesten Eintrag aus der Datenbank mit LINQ zu Entities

Dies ist, wie weit habe ich:

IQueryable<DateTime> date = from ftp in ctn.FTPRuns 
          orderby ftp.LastRun descending 
          select ftp.LastRun; 

mir jemand kann sagen, wie ich diese Abfrage ändern kann, um den neuesten Eintrag nur auswählen. Ich habe versucht "wählen ftp.LastRun.First();" Aber das ist keine Option für mich intellisense.

jede Hilfe wäre willkommen.

danke.

Antwort

4

Das Ergebnis dessen, was Sie dort haben (Datum), ist ein bestellter IQueryable. Sie können einfach date.First() anrufen, um den ersten in dieser Reihenfolge zu erhalten.

Andernfalls, wenn Sie einen Schritt ausschneiden möchten, wickeln Sie Ihre Abfrage in Klammern und rufen Sie.Erste darauf, nur um das Datum zu erhalten.

DateTime date = (from ftp in ctn.FTPRuns 
       orderby ftp.LastRun descending 
       select ftp.LastRun).First(); 

Sie sonst lambdas verwenden:

DateTime date = ctn.FTPRuns.OrderByDescending(f => f.LastRun).First().LastRun; 
+0

Vielen Dank für Ihre Antwort Richard, werde ich es als die richtige Antwort markieren, sobald die Frist bis ist :) – 109221793

1
IQueryable<DateTime> dates = from ftp in ctn.FTPRuns 
          orderby ftp.LastRun descending 
          select ftp.LastRun; 
DateTime date = dates.First(); 
Verwandte Themen