Дві сутності мають відношення один до багатьох (побудований за кодом першими вільними 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 може знати стан дітей (нове додавання / видалення / модифікація)?
Який правильний спосіб реалізації цієї функції?