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