Mam tabelę „lasttraces” z następującymi polami.
Id, AccountId, Version, DownloadNo, Date
Dane wyglądają następująco:
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
Jak mogę, w LINQ to SQL , uzyskać tylko ostatni ślad każdego AccountId (ten z najwyższą datą)?
c#
.net
linq
linq-to-sql
Bas Jansen
źródło
źródło
Odpowiedzi:
Jeśli chcesz tylko ostatnią datę dla każdego konta, użyj tego:
Jeśli chcesz mieć cały rekord:
źródło
method-chain
rozwiązanie tego problemu.(from n in table ...).First()
?First()
Rozmowa powinna mieć zastosowanie dog.Order...
wyrażenia (podzapytanie).Oto prosty sposób na zrobienie tego
Zobacz też to świetne miejsce LINQ - LINQ to SQL Samples
źródło
Jeśli chcesz mieć cały rekord, oto sposób lambda:
źródło
Może to być coś takiego:
źródło
Idź w prosty sposób, aby to zrobić: -
Utworzono jedną klasę do przechowywania następujących informacji
Przejdź do listy witryn przechowywanych w obiekcie ArrayList. I wykonałem następujące zapytanie, aby posortować je w porządku malejącym według poziomu.
Po posortowaniu kolekcji w porządku malejącym napisałem następujący kod, aby uzyskać obiekt, który znajduje się w górnym wierszu
To zadziałało jak urok.
źródło