Considérez une table SQL Server utilisée pour stocker des événements pour l'audit.LINQ to SQL: GroupBy() et Max() pour obtenir l'objet avec la date la plus récente
Le besoin est d'obtenir seulement que dernière entrée pour chaque CustID. Nous voulons obtenir l'objet entier/rangée. Je suppose qu'un GroupBy() sera nécessaire dans la requête. Voici la requête jusqu'à présent:
var custsLastAccess = db.CustAccesses
.Where(c.AccessReason.Length>0)
.GroupBy(c => c.CustID)
// .Select()
.ToList();
// (?) where to put the c.Max(cu=>cu.AccessDate)
Question: Comment puis-je créer la requête pour sélectionner la dernière (le AccessDate
maximum) enregistrement/objet pour chaque CustID
?
Soyez conscient que ce ne sera pas rompre les liens - s'il y a deux lignes avec le même CustID et même accessdate, ils seront tous les deux se trouvent dans la jointure, et vous pourriez vous retrouver avec plusieurs « la plupart des accès récents "par identifiant client. –