Дві сутності мають відношення один до багатьох (побудований за кодом першими вільними api).
public class Parent
{
public Parent()
{
this.Children = new List<Child>();
}
public int Id { get; set; }
public virtual ICollection<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
public string Data { get; set; }
}
У своєму контролері WebApi у мене є дії зі створення батьківського об'єкта (який працює чудово) та оновлення материнської сутності (яка має певні проблеми). Дія оновлення виглядає так:
public void Update(UpdateParentModel model)
{
//what should be done here?
}
Наразі у мене є дві ідеї:
Отримати гусеничний батьківський об'єкт з ім'ям
existingпоmodel.Idі присвоєння значення вmodelодин за іншим до об'єкта. Це звучить нерозумно. Іmodel.Childrenя не знаю, яка дитина нова, яка дитина модифікована (або навіть видалена).Створіть нову материнську сутність за допомогою
modelі додайте її до DbContext і збережіть її. Але як DbContext може знати стан дітей (нове додавання / видалення / модифікація)?
Який правильний спосіб реалізації цієї функції?