Используя Entity Framework Core 3.1, у меня есть следующий запрос:
var ids = new List<Int32> { 1, 2, 3 };
users = context.Users
.Where(x => ids.All(y => x.UserSkills.Any(z => y == z.SkillId)));
var result = await users.ToListAsync();
Когда я запускаю этот запрос, я получаю следующую ошибку:
'The LINQ expression 'DbSet<User>
.Where(u => True && __ids_0
.All(y => DbSet<UserSkill>
.Where(u0 => EF.Property<Nullable<int>>(u, "Id") != null && EF.Property<Nullable<int>>(u, "Id") == EF.Property<Nullable<int>>(u0, "UserId"))
.Any(u0 => y == u0.SkillId)))' could not be translated.
Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync()
Как я могу это решить?