我們怎樣才能在EF做到這一點無關實體,過濾使用EF
Member member = db.Members.Find(id);
vmJob.MatchJob = db.Jobs.Where(p=>p.Skills in (member.Skills));
它就像一個就業選配功能..其中,構件具有的技能和工作要求的技能。
在此先感謝。
我們怎樣才能在EF做到這一點無關實體,過濾使用EF
Member member = db.Members.Find(id);
vmJob.MatchJob = db.Jobs.Where(p=>p.Skills in (member.Skills));
它就像一個就業選配功能..其中,構件具有的技能和工作要求的技能。
在此先感謝。
djcohen66接近。如果兩個都是集合,則可以在候選集合上使用.Any
。
var member = db.Members.Find(id);
var memberSkillIds = member.Skills.Select(ms => ms.SkillId).ToList();
var jobs = db.Jobs.Where(j => j.Skills.Any(js => memberSkillIds.Contains(js.SkillId)));
嘗試這樣:
Member member = db.Members.Find(id);
var memberSkills = member.Skills.Select(ms=>ms.SkillId).ToArray(); //assumes a skill has a skill id.
var matchJobs = db.Jobs.Where(mj=> memberSkills.Contains(mj.Skill));
應該返回工作崗位,其中包括job.Skills成員的技能。
嗨,..我不會對我的工作,而不是技能的集合..一個技能屬性,因爲作業可與多種技能.. 所以我就在列表行的錯誤(mj.Skill)。 tnx – roggss 2012-01-28 04:51:21
謝謝你們倆...... :) – roggss 2012-01-28 07:30:56