Задать вопрос

Как правильно составить linq запрос?

Суть такая, есть модель юзера, у этого юзера есть поле ICollection Targets - это типо юзеры на которых он подписан, связь многие ко многим. Кроме того у модели юзера есть поле ICollection Nodes - записи пользователя, один ко многим. Как выбрать все записи пользователей, на которых подписан выбранный юзер?
Т.е. что-то типо:
repository.Users.Where(c=> c.Id == 25).First().Targets.

+ дальше надо как-то выбрать записи подписчиков чтобы они все вернулись в едином ICollection.
  • Вопрос задан
  • 167 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@unsafePtr
Хотелось бы увидеть диаграмму из бд и более точное постановление задачи.
Из того что дано приходит на ум:
var nodes = repository.Users
                .Include(u => u.Nodes)
                .Include(u => u.Targets)
                .Where(u => u.Id == 25)
                .SelectMany(u => u.Targets)
                .Include(t => t.Users.Select(u => u.Nodes))
                .SelectMany(t => t.Users)
                .SelectMany(u => u.Nodes)
                .ToList();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы