Mam podmioty Group
i User
.
Obiekt Group
ma właściwość Users
, która jest listą użytkowników.
Użytkownik ma właściwość o nazwie IsEnabled
.Linq To Entities - jak filtrować jednostki podrzędne
Chcę napisać zapytanie linq, które zwraca listę Group
s, która składa się tylko z User
s, której IsEnabled
jest prawdziwa.
tak na przykład, dla danych, jak poniżej
AllGroups
grupy A
użytkownika 1 (IsEnabled = prawda)
użytkownika 2 (IsEnabled = prawda)
Użytkownik 3 (IsEnabled = fałsz)
Grupa B
obsługi 4 (IsEnabled = prawda)
użytkownika 5 (IsEnabled = fałsz)
użytkownika 6 (IsEnabled = false)
Chcę dostać
FilteredGroups
Grupa A
User 1 (IsEnabled = true)
User 2 (IsEnabled = true)
Grupa B
Użytkownik 4 (IsEnabled = true)
Próbowałem następującą kwerendę, ale Visual Studio mówi mi, że
[nie można przypisać własność lub Indexer „użytkownicy” to - to jest tylko do odczytu]
FilteredGroups = AllGroups.Select(g => new Group()
{
ID = g.ID,
Name = g.Name,
...
Users = g.Users.Where(u => u.IsInactive == false)
});
dziękuję za pomoc!
używasz EF4? Jeśli tak, czy korzystasz z POCO? W jaki sposób zadeklarowano "Group.Users"? – RPM1984
Możesz to łatwo osiągnąć dzięki filtrowanemu Uwzględnieniu. Głosuj na funkcję [tutaj] (https://entityframework.codeplex.com/workitem/47)! – Chris