Звучит так, как будто вы хотите, чтобы список distinct
был упорядочен по последнему элементу в каждом наборе, верно?
Чтобы сделать это, вы должны использовать group by
.Вам придется order
дважды, один раз в каждом наборе и еще раз для всего списка:
var q =
from s in
(
from c in db.tblArcadeGamePlays
join a in db.tblProfiles on c.UserID equals a.UserID
where c.UserID != 0
select new { c.UserId, c.TblForumAuthor.Username, a.EmailAddress, c.Date }
)
group s by new { g.UserId, g.Username, g.EmailAddress } into g
orderby g.OrderByDescending(s => s.Date).First().Date descending
select g.Key
)
.Take(12);
Часть orderby
может показаться запутанной, но это просто: упорядочитьгрупп по первой дате в каждой группе