Tôi có các đối tượng Group
và User
.
đối tượng Group
có thuộc tính Users
là danh sách Người dùng.
Người dùng có thuộc tính có tên IsEnabled
.LINQ to Entities - cách lọc các thực thể con
Tôi muốn viết truy vấn LINQ trả về danh sách Group
s, chỉ bao gồm User
s có IsEnabled
là đúng.
ví dụ như vậy, đối với dữ liệu như dưới đây
AllGroups
nhóm A
User 1 (IsEnabled = true)
User 2 (IsEnabled = true)
tài 3 (IsEnabled = false)
Nhóm B
tài 4 (IsEnabled = true)
tài khoản 5 (IsEnabled = false)
tài 6 (IsEnabled = false)
Tôi muốn nhận
FilteredGroups
nhóm A
User 1 (IsEnabled = true)
User 2 (IsEnabled = true)
Nhóm B
Người dùng 4 (IsEnabled = true)
Tôi đã thử các truy vấn sau đây, nhưng Visual Studio nói với tôi rằng
[tài sản hoặc indexer 'Người dùng' không thể được gán cho - đó là chỉ đọc]
FilteredGroups = AllGroups.Select(g => new Group()
{
ID = g.ID,
Name = g.Name,
...
Users = g.Users.Where(u => u.IsInactive == false)
});
cảm ơn bạn đã giúp đỡ của bạn!
bạn đang sử dụng EF4? Nếu vậy, bạn có đang sử dụng POCO không? 'Group.Users' được khai báo như thế nào? – RPM1984
Bạn có thể dễ dàng thực hiện điều này với Bộ lọc được bao gồm. Bình chọn cho tính năng [ở đây] (https://entityframework.codeplex.com/workitem/47)! – Chris