LINQ-запрос для получения максимального значения из вложенной коллекции - PullRequest
1 голос
/ 09 мая 2019

У меня есть 3 объекта - пользователь, группа пользователей и группа. User и UserGroup имеют отношение «многие ко многим», а Group и UserGroup имеют отношение «один ко многим». Таким образом, на стороне EF объект User имеет коллекцию UserGroup, а UserGroup имеет свойство Group. Групповая сущность имеет свойство Level, которое представляет собой число, дающее групповой вид ранга

Я хочу получить всех пользователей вместе с группой с максимальным уровнем. Как мне это сделать?

1 Ответ

0 голосов
/ 09 мая 2019

Используя кортежи, вы можете сделать что-то вроде:

 Users.Select(u => (u, u.UserGroups.Select(ug => (ug.Group, ug.Group.Level))
    .OrderByDescending(t => t.Item2).FirstOrDefault()?.Item1)))

При условии, что я понял ваше описание (лучше будет опубликовать код).

...