我有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個表格。
- 考生
- ID名稱
- 1湯姆
- 約翰二
- 技能
- ID名稱
- 1 C#
- 2 MVC
- 3 SQL
- 4 NHibernate的
- 5的Java
我做了在自動生成的表的關聯:
-
個
- CandidateSkills
- CandidateId SkillId
現在我想更新技能candidateId 1即湯姆誰願意刪除他的SkillId:2即MVC並添加新的SkillId:4 & 5即nHibernate & Java分別爲。
我得到的集IDS從形式即3,4 和候選ID:1,由於2被用戶移除。
我的API是這樣的:
public Candidate Add(int candidateId, int[] skillIds)
{
var model = dbContext.candidate.Find(candidateId);
}
如何以有效的方式更新候選紀錄,成爲最小的數據庫調用?
謝謝@GertArnold –
或者使用[存根實體](http://stackoverflow.com/a/16787524/861716)。 –