Ziarno AddOrUpdate EF nie aktualizuje elementów potomnych

Mam pewne problemy z danymi siewnymi i udało mi się odtworzyć problem za pomocą bardzo małej aplikacji.
Biorąc pod uwagę, że masz tę metodę nasion:

    protected override void Seed(JunkContext context)
    {
        context.Junks.AddOrUpdate(x => x.Name,
            new Junk()
            {
                Name = "BANANAS!!",
                Item = new JunkItem()
                {
                    Name = "APPLES!!!"
                }
            }
        );
    }

po uruchomieniu update-database w PMC wszystkie elementy zostaną pomyślnie utworzone. Dobry.
Ale jeśli chcesz przejść i zaktualizować bazę danych, powiedz, że teraz jest to metoda seed:

    protected override void Seed(JunkContext context)
    {
        context.Junks.AddOrUpdate(x => x.Name,
            new Junk()
            {
                Name = "BANANAS!!",
                Item = new JunkItem()
                {
                    Name = "ORANGES!!!"
                }
            }
        );
    }

Jednostka podrzędna nie jest aktualizowana. Wygląda na to, że jedynym sposobem na ponowne zasianie jest wyczyszczenie bazy danych i ponowne wykonanie wszystkiego. Myślę, że rozumiem, dlaczego to nie działa tak, jak tego oczekuję, ale być może ktoś mógłby wskazać mi właściwy kierunek, aby odpowiednio zaktualizować tę metodę nasion. Wiem, że mógłbym po prostu napisać kontekst.JunkItems. (...) ale wydaje się, że pobiłoby to cały cel „AddOrUpdate”.

Myślę, że musiałbym zdefiniować „klucze” dla każdej jednostki podrzędnej. Przykład: „Junk” pobiera x => x.Name, ale „JunkItem” ma obecnie „aktualizować klucz”. Zakładam, że to jest problem, ale jak bym sobie z tym poradził?

questionAnswers(1)

yourAnswerToTheQuestion