У меня есть таблица user , которая содержит вложенную таблицу с именем UserPriviliges , в этой таблице у меня есть поле isDeleted для идентификации удаленных данных без фактического удаления, я хотите получить пользователя с его привилегией, используя include
public async Task<User> GetUser(Guid userId)
{
return await RepositoryContext.Users
.Include(x => x.UserPrivileges).ThenInclude(x => x.Privilege)
.FirstOrDefaultAsync(x => x.Id == userId);
}
как отфильтровать UserPriviliges , чтобы принести только элементы с ложным isDeleted свойством
в EF Core <3.0 Я мог бы сделать это следующим образом </p>
return await RepositoryContext.Users
.Include(x => x.UserPrivileges.Where(y=>y.IsDeleted)).ThenInclude(x => x.Privilege)
.FirstOrDefaultAsync(x => x.Id == userId);
, но в EF Core 3.1 он больше не работает, он возвращает
Лямбда-выражение, используемое внутри Include, недопустимо