Я работаю над созданием сайта с изображениями, и мне интересно, как мне структурировать методы Create / Update в моем хранилище Linq to Sql?
У меня есть объект Photo, структурированный как:
public class Image
{
public int ID { get; set; }
public int OwnerId { get; set; }
public string Url { get; set; }
public IEnumerable<Tag> Tags { get; set; }
}
У меня есть следующие таблицы: Изображения, Теги, ImageTag
Теперь мне интересно, когда я вызываю свой метод CreateImage в моем ImageRepository, я должен также создавать Теги вТаблица тегов и создание сопоставлений в таблице ImageTag?
Аналогичным образом, когда я вызываю UpdateImage, должен ли я проверять, изменились ли теги, и не имеют ли они затем удаление записей в таблице ImageTag и добавление в разныеиз них (а также, возможно, добавление новых тегов в таблицу тегов)?
Или оба этих варианта использования должны выполняться в отдельном вызове репозитория?
По сути, как обрабатывается это отношение родитель-потомок, один ко многим, обычно в типичном хранилище linq to sql?