Rozważmy tabelę SQL Server, która służy do przechowywania zdarzeń do audytu.LINQ do SQL: GroupBy() i Max(), aby uzyskać obiekt z datą najnowszą
Istnieje potrzeba uzyskania najnowszego wpisu dla każdego identyfikatora CustID. Chcemy uzyskać cały obiekt/wiersz. Zakładam, że GroupBy() będzie potrzebna w zapytaniu. Oto zapytanie do tej pory:
var custsLastAccess = db.CustAccesses
.Where(c.AccessReason.Length>0)
.GroupBy(c => c.CustID)
// .Select()
.ToList();
// (?) where to put the c.Max(cu=>cu.AccessDate)
Pytanie: Jak utworzyć kwerendę, aby wybrać ostatnią (maksymalny AccessDate
) Zapis/przedmiot dla każdej CustID
?
Należy pamiętać, że to nie złamie więzi - jeśli istnieją dwa wiersze z tego samego custid i tym samym AccessDAte, będą oba znajdują się w przyłączyć, a może skończyć się z wieloma „najnowszych dostępów "na identyfikator klienta. –