我有 2 个模型类。
public class Candidate
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Skill> Skills { get; set; }
}
public class Skill
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Candidate> Candidates { get; set; }
}
这为我创建了 3 张桌子。
- 候选人
- 标识名称
- 1 汤姆
- 2约翰
- 技能
- 标识名称
- 1 C#
- 2MVC
- 3 SQL
- 4 n休眠
- 5 爪哇
我已经在 AUTOGENERATED 表中建立了关联:
- 候选人技能
- 候选人 ID 技能 ID
- 1 2
- 1 3
现在我想更新候选人 ID 1 的技能,即汤姆想要删除他的 SkillId:2 即 MVC 并分别添加新的 SkillId:4 和 5 即 nHibernate 和 Java。
我从3, 4 & 5 & 和候选 Id : 1的形式中得到一组Id,因为 2 已被用户删除。
我的 API 是这样的:
public Candidate Add(int candidateId, int[] skillIds)
{
var model = dbContext.candidate.Find(candidateId);
}
如何以有效的方式更新候选记录,使数据库调用最少?