Try this for linq for objects
(from login in users_logins.OrderByDescending(user => user.recorder) from user in users where user.user_id == login.user_id select user).Distinct().Take(3)
This request
1. first sort by date
2. Then combines the sorted login data with user data,
3. then take individual users
4. and then finally take the first 3 entries.
Below is an alternative query
from login in users_logins.OrderByDescending(user =>user.recorder).GroupBy(user=>user.recorder).SelectMany( users=>users.First()).Take(3) from user in users where user.user_id == login.user_id select user
This request
1. first grades
2. then groups on user_id
3. then take the first 3 entries with a different user id,
4. Then connects to user data.
Tilak source share