Я знаю, что в Linq мне нужно сделать OrderBy
после выполнения Select - Distinct
, но я пытаюсь упорядочить по свойству сущности Included, которое теряется после Select
.
Например:
var accounts = _context.AccountUser
.Include(o => o.Account)
.Where(o => o.UserId == userId || o.Account.OwnerId == userId)
.OrderByDescending(o => o.LastAccessed)
.Select(o => o.Account)
.Distinct();
Поскольку я делаю Where
с помощью or
двух разных параметров, есть хороший шанс получить дублированные результаты. Вот почему я использую Distinct
.
Проблема в том, что после выполнения Select
у меня больше нет свойства LastAccessed
, поскольку оно не принадлежит выбранному объекту.
Я думаю, что структура AccountUser
и Account
может быть выведена из самого запроса.