【发布时间】:2011-10-03 05:29:34
【问题描述】:
假设我有两个列表:
List<CanidateSkill> canidateSkills;
List<JobDesiredSkill> desiredSkills;
class CanidateSkill
{
public Guid CanidateId { get; set; }
public Guid SkillId { get; set; }
}
class JobDesiredSkill
{
public Guid JobId { get; set; }
public Guid SkillId { get; set; }
}
你如何确定是否:
CandidateSkills 中至少包含 JobDesiredSkills 中的一项(与 SkillId 匹配)
JobDesiredSkills 中的所有项目都包含在 CandidateSkills 中
我试过这个,但得到这个错误:无法创建类型的常量值在这种情况下只支持原始类型('例如 Int32、String 和 Guid')。
return from candidate in _db.Candidates
where (candidate.CandidateSkills.Any(c => job.JobDesiredSkills.Any(j => j.SkillId == c.SkillId)))
select candidate;
我也试过这个,但是 Contains 需要一个 JobDesiredSkill 对象,但 c 是 CandidateSkillObject。
return from candidate in _db.Candidates
where CandidateSkills.Any(c => JobDesiredSkills.Contains(c))
select candidate;
谢谢
【问题讨论】:
标签: .net asp.net asp.net-mvc linq entity-framework