Las dos entidades son una relación de uno a muchos (construido por la primera API fluida del código).
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; }
}
En mi controlador WebApi, tengo acciones para crear una entidad principal (que funciona bien) y actualizar una entidad principal (que tiene algún problema). La acción de actualización se ve así:
public void Update(UpdateParentModel model)
{
//what should be done here?
}
Actualmente tengo dos ideas:
Obtenga una entidad principal rastreada nombrada
existing
pormodel.Id
y asigne valoresmodel
uno por uno a la entidad. Esto suena estúpido. Y enmodel.Children
No sé qué hijo es nuevo, qué hijo se modifica (o incluso se elimina).Cree una nueva entidad principal a través de
model
, y adjúntela al DbContext y guárdela. Pero, ¿cómo puede saber DbContext el estado de los hijos (nueva adición / eliminación / modificación)?
¿Cuál es la forma correcta de implementar esta función?