Holen Sie sich die "neuesten" datetime " aus einem großen linq-Abfrage, derzeit gibt jeden Datensatz, der eine datetime

Ich habe eine ziemlich lange linq-Abfrage und alles funktioniert wie es sollte.. aber in einem letzten join ich mache einen innerjoin auf eine Tabelle, die über ein log, das log gibt mehr als 50 Datensätze, ich will einfach nur den neuesten Datensatz..

Hier ist ein Beispiel

var tst = from w in context.storage
          join p in context.products on w.id equals p.wid
          join l in context.logger on p.id equals l.pid
          select new
          {
              storageid = w.id,
              productid = p.id
              productname = p.name
              bought = l.when
          };

Also eine kurze Erklärung, was passiert, jedes Produkt gespeichert ist, in ein storage-center und es ist ein Protokoll, Wann das Produkt gekauft wurde, wenn es gekauft wurde, 100 mal, dann gibt es 100 Datensätze im logger.

Also momentan gibt es 50 Einträge für productid = 5 ... warum .. weil es gekauft wurde 50 mal, aber ich will nur 1 Datensatz, daher möchte ich nur das Letzte Datum Zeit aus dem logger.

Kann jemand helfen? Ich bin ein wenig stecken.

  • Ist das von LINQ to SQL oder Entity Framework?
  • gibt es ein Feld in der db speichert datetime-ist die Aufnahme vorlegen
InformationsquelleAutor Martin | 2012-06-14
Schreibe einen Kommentar