As duas entidades são um-para-muitos relacionamento (construído pelo código primeiro API fluente).
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; }
}
No meu controlador WebApi, tenho ações para criar uma entidade pai (que está funcionando bem) e atualizar uma entidade pai (que tem algum problema). A ação de atualização é semelhante a:
public void Update(UpdateParentModel model)
{
//what should be done here?
}
Atualmente, tenho duas idéias:
Obtenha uma entidade pai rastreada nomeada
existing
pormodel.Id
e atribua valoresmodel
um a um à entidade. Isso parece estúpido. Emodel.Children
não sei qual filho é novo, qual filho é modificado (ou mesmo excluído).Crie uma nova entidade pai via
model
e anexe-a ao DbContext e salve-a. Mas como o DbContext pode conhecer o estado dos filhos (nova adição / exclusão / modificação)?
Qual é a maneira correta de implementar esse recurso?