У меня есть следующие классы:
- Новости
- PostPermission
- Роль
у каждой новости есть ListOfPostPermissions (1-много), а у каждого PostPermission одна роль (1-1).
У меня есть список RoleId
, и я хочу получить все News
, где RoleId
PostPermission
находится в списке RoleId
.
Я использую приведенный ниже код, но он вызывает ошибку:
var roles = _currentUserService.GetCurrentUserRoles(); // List<Guid>
return NewsList.Where(row => row.Permissions.Where(role=>roles.Contains( role.RoleId)).ToList()).ToList();
Я получаю эти ошибки:
Невозможно неявно преобразовать тип System.Collections.Generic.List в bool
Невозможно преобразовать лямбда-выражение в тип делегата System.Func, поскольку некоторые из возвращаемых типов в блоке не могут быть неявно преобразованы в тип возвращаемого делегата
как мне это сделать ?
'bool' does not contain a definition for 'ToList' and no extension method 'ToList' accepting a first argument of type 'bool' could be found (are you missing a using directive or an assembly reference?)
21.12.2015ToList
вот такreturn NewsList.Where(row =>row.Permissions.Any(role=>roles.Contains(role.RoleId))).ToList();
, и теперь на нем нет ошибки, верно? 21.12.2015Where
наAny
была важной частью. Подправил ответ. 21.12.2015