У меня есть видео модель с коллекцией тегов, которые я хочу создать
public class Video{
public int Id { get; set; }
public string Title { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
etc.
}
public class Tag
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Video> Videos { get; set; }
}
У меня есть стандартное сгенерированное действие контроллера, которое выглядит так:
[HttpPost]
public ActionResult Create(Video video)
{
if (ModelState.IsValid)
{
db.Videos.Add(video);
db.SaveChanges();
return RedirectToAction("Index");
}
}
Модельпривязка, кажется, работает правильно, я получаю новое видео с нужными значениями и набор тегов.(первичные ключи, 1,7, 34 и т. д.)
Однако при использовании этого метода новое видео не привязывается к существующим тегам, оно всегда создает новые.
Существует ли автоматический способ, что, если тег с предоставленным Id существует, он не создается новым, но создается только отношение к существующему?