У меня есть 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 Том
- 2 John
- Навыки
- Id Название
- 1 C#
- 2 MVC
- 3 SQL
- 4 NHibernate
- 5 Java
Я сделал ассоциацию в автогенерируемой таблице :
- CandidateSkills
- CandidateId SkillId
Теперь я хочу, чтобы обновить навыки candidateId 1 т.е. Тому, кто хочет удалите его SkillId: 2 ie MVC и добавьте новый SkillId: 4 & 5 ie nHibernate & Java соответственно.
Я получаю множество Ids из формы, т.е. 3, 4 5 & & и кандидата Id: 1, С 2 удаляется пользователем.
Мой API, как это:
public Candidate Add(int candidateId, int[] skillIds)
{
var model = dbContext.candidate.Find(candidateId);
}
Как обновить кандидатскую запись эффективным способом, делая наименее обращений к базе данных?
спасибо @GertArnold –
Или используйте [объекты-заглушки] (http://stackoverflow.com/a/16787524/861716). –