gpt4 book ai didi

.net - LINQ 到 SQL : How to check if any item in one entity collection exists in another entity collection?

转载 作者:行者123 更新时间:2023-12-04 06:21:02 26 4
gpt4 key购买 nike

我正在使用 MVC2 和 Entity Framework 。

我有 2 个实体集合,我需要比较它们并检查它们是否有任何共同点。例如,假设我有 EntityCollection<Candidate>EntityCollection<Job> .我正在尝试返回具有工作首选技能中列出的技能的所有候选人。这样对吗:

public IQueryable<Candidate> GetMatchingCandidates(Job job)
{
return from candidate in _db.Candidates
where (candidate.CandidateSkills.Where(c => job.JobPreferredSkills.Any(j => j.SkillId== c.SkillId)).Count() > 0)
select candidate;
}

同样,我也希望获得具有首选技能中列出的所有技能的候选人。

最佳答案

我会用 Any()在第一种情况下:

    public IQueryable<Candidate> GetMatchingCandidates(Job job)
{
return from candidate in _db.Candidates
where (candidate.CandidateSkills.Any(c => job.JobPreferredSkills.Any(j => j.SkillId == c.SkillId)))
select candidate;
}

然后使用 All()对于您的第二种情况(所有技能都必须在首选技能中)
    public IQueryable<Candidate> GetMatchingCandidates(Job job)
{
return from candidate in _db.Candidates
where (candidate.CandidateSkills.All(c => job.JobPreferredSkills.Any(j => j.SkillId == c.SkillId)))
select candidate;
}

关于.net - LINQ 到 SQL : How to check if any item in one entity collection exists in another entity collection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6564194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com