Wir arbeiten in Entity Framework-Code zuerstEF-Code erste Kaskade löschen auf Fremdschlüssel one-to-many
Wir haben eine Klasse Video
class Video{
List<ImageInfo> Images{
get; set;
}
}
unser Bild infoclass einen Pfad zu dem Bild enthält und einige andere Informationen
class ImageInfo{
String path;
...
}
würden wir EF entfernen haben, um die imageinfos mögen, wenn das Video
entfernenso haben wir den Modellbauer wie folgt:
modelBuilder
.Entity<Video>()
.HasMany(v => v.Images)
.WithRequired()
.WillCascadeOnDelete(true);
wir nicht wollen, einen Link zurück zu Video in unserer Klasse image hinzuzufügen.
ist es möglich, Kaskadenlöschfunktion ohne einen 2-Wege-Fremdschlüssel zu erhalten?
EDIT
die video_id der Imageinfo erhalten in der Datenbank nicht ausgefüllt, wenn ein Video zu speichern.
wie können wir dieses Problem beheben?
Ich weiß nicht, ob die damit verbundene, aber wenn wir ein neues Video mit Bildern zur gleichen Zeit hinzufügen, bekommen wir diese Fehler:
Unable to determine a valid ordering for dependent operations. Dependencies may exist due to foreign key constraints, model requirements, or store-generated values.
Funktioniert wie ein Charme. Wir hatten auch ein zweites Problem. Wir haben der Images-Eigenschaft eine neue Liste zugewiesen, wodurch die Datenbanksynchronisierung fehlschlägt. Also haben wir gelernt, niemals einer Immobilie eine neue Liste zuzuordnen. (ähnlich mit ObservableCollection und Databinding) –
Akzeptanz der Antwort würde sehr geschätzt werden dann :-). Außerdem hilft es Ihrem eigenen Ruf, zu mehr/besseren Antworten zu führen. – AxelEckenberger
wir haben immer noch das Problem, die Bilder beim Löschen eines Videos zu kaskadieren: siehe Originalfrage (bearbeitetes Teil) –