Die beiden Entitäten sind eine Eins-zu-Viele-Beziehung (erstellt durch Code First Fluent 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; }
}
In meinem WebApi-Controller habe ich Aktionen zum Erstellen einer übergeordneten Entität (die einwandfrei funktioniert) und zum Aktualisieren einer übergeordneten Entität (die ein Problem aufweist). Die Aktualisierungsaktion sieht folgendermaßen aus:
public void Update(UpdateParentModel model)
{
//what should be done here?
}
Derzeit habe ich zwei Ideen:
Rufen Sie eine nachverfolgte übergeordnete Entität ab, die
existing
von benannt istmodel.Id
, und weisen Siemodel
der Entität nacheinander Werte zu. Das klingt dumm. Und inmodel.Children
Ich weiß nicht, welches Kind neu ist, welches Kind geändert (oder sogar gelöscht) wird.Erstellen Sie eine neue übergeordnete Entität über
model
, hängen Sie sie an den DbContext an und speichern Sie sie. Aber wie kann der DbContext den Status von Kindern kennen (neu hinzufügen / löschen / geändert)?
Wie kann diese Funktion richtig implementiert werden?