Эти два объекта являются отношениями "один ко многим" (созданным с помощью первого кода 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 знает состояние детей (новое добавление/удаление/изменение)?
Каков правильный способ реализации этой функции?