Pracujemy w pierwszej Entity Code ramowejKod EF pierwszy kaskada usuwać na klucz obcy jeden-do-wielu
Mamy wideo klasy
class Video{
List<ImageInfo> Images{
get; set;
}
}
nasz wizerunek infoclass zawiera ścieżkę do obrazu i niektórych innych informacji
class ImageInfo{
String path;
...
}
chcielibyśmy mieć EF usunąć imageinfos kiedy usunąć film
więc zmieniliśmy ModelBuilder jak następuje:
modelBuilder
.Entity<Video>()
.HasMany(v => v.Images)
.WithRequired()
.WillCascadeOnDelete(true);
nie chcemy, aby dodać link do filmu w naszej klasie ImageInfo.
Czy można uzyskać funkcję kasowania kaskadowego bez 2-głosowego klucza obcego?
EDIT
video_id z ImageInfo nie zostanie wypełnione w bazie danych podczas zapisywania wideo.
jak możemy rozwiązać ten problem?
ja nie wiem, czy jej partner, ale gdy dodamy nowy film z obrazów w tym samym czasie, możemy uzyskać ten błąd:
Unable to determine a valid ordering for dependent operations. Dependencies may exist due to foreign key constraints, model requirements, or store-generated values.
Działa jak urok. Mieliśmy także drugi problem. Przypisaliśmy nową listę do właściwości Obrazy, powodując niepowodzenie synchronizacji bazy danych. Nauczyliśmy się więc nigdy nie przypisywać nowej listy do nieruchomości. (podobne z obserwowalną kolekcją i databinding) –
Akceptacja odpowiedzi byłaby bardzo doceniana wtedy :-). Dodatkowo pomaga także twojej reputacji, prowadząc do lepszych/lepszych odpowiedzi. – AxelEckenberger
nadal mamy problem z kaskadowaniem obrazów podczas usuwania filmu: zobacz oryginalne pytanie (edytowana część) –