【发布时间】:2021-12-11 08:51:07
【问题描述】:
我有两个模型:
public class Employee
{
public int Id { get; set; }
public IList<Skill> { get; set; }
}
public class Skill
{
public int Id { get; set; }
}
我有一个包含技能 ID 列表的过滤器,该员工应包含:
public class Filter
{
public IList<int> SkillIds { get; set; }
}
我想编写查询来获取所有具有过滤器技能的员工。
我试过了:
query.Where(e => filter.SkillIds.All(id => e.Skills.Any(skill => skill.Id == id)));
还有:
query = query.Where(e => e.Skills
.Select(x => x.Id)
.Intersect(filter.SkillIds)
.Count() == filter.SkillIds.Count);
但结果我得到异常说无法翻译查询。
【问题讨论】:
标签: c# asp.net .net .net-core entity-framework-core