Linq To Entities - как фильтровать дочерние сущности

У меня есть сущности Группа и Пользователь .
сущность Group имеет свойство Users , которое представляет собой список пользователей.
У пользователя есть свойство с именем IsEnabled .

Я хочу написать запрос linq, который возвращает список Group s, который состоит только из User s, чьи IsEnabled истинно.

так, например, для данных, как показано ниже
AllGroups
Группа A
Пользователь 1 (IsEnabled = true)
Пользователь 2 (IsEnabled = true)
Пользователь 3 (IsEnabled = false)

Группа B
Пользователь 4 (IsEnabled = true)
Пользователь 5 (IsEnabled = false)
Пользователь 6 (IsEnabled = false)

Я хочу получить
FilteredGroups
Группа A
Пользователь 1 (IsEnabled = true)
Пользователь 2 (IsEnabled = true)

Группа B
Пользователь 4 (IsEnabled = true)

Я попробовал выполнить следующий запрос, но Visual Studio сообщает мне, что
[Свойство или индексатор 'Пользователи' не могут быть назначены - они доступны только для чтения]

FilteredGroups = AllGroups.Select(g => new Group()
                    {
                        ID = g.ID,
                        Name = g.Name,
                        ...
                        Users = g.Users.Where(u => u.IsInactive == false)
                    });

спасибо за вашу помощь!

14
задан Yeonho 18 January 2011 в 04:46
поделиться