Zapis danych do tabel one-to-many

0

Hej Wam, kodu nie wrzucam, bo wszystkie akcje kontrolerów oraz widoki wygenerowałem sobie przez ef core, więc
chyba nie ma sensu tego tu wklejać.
Natomiast problem mam taki, że gdy złączyłem sobie dwie tabele kluczem obcym, to
od tej pory mam modelState.isValid = false i dostaje error, że w lewej tabeli potrzebne jest pole prawej a w prawej
potrzebne jest pole lewej. Dopóki tego złączenia nie było, to do lewej tabeli (wiadomo) zapisywało bez problemu.
Jak zatem to ugryźć?
To są moje tabele oraz określenie ich złączenia:

public class KategorieGlowne
    {
        [Key]
        public int KatGlownaId { get; set; }
        public string? NazwaKategorii { get; set; }
        public ICollection<Podkategorie> Podkategorie { get; set; }
    }
    public class Podkategorie
    {
        [Key]
        public int Id { get; set; }
        public string? NazwaPodkategorii { get; set; }
        [Required]
        [ForeignKey("KategorieGlowne")]
        public int KategoriaGlownaRefId { get; set; }
        public KategorieGlowne KategorieGlowne { get; set; }

    }

Przed określeniem złączenia dane do tabeli KategorieGlowne dodawało. Natomiast teraz po złączeniu
nie dodaje ani do górnej ani do dolnej. Co z tym fantem zrobić?

0

Sory, to ja może jeszcze tylko krótko opiszę kroki co chcę, żeby było zrobione.

  1. Klikam ActionLink "Administrator".
  2. Klikam ActionLink "Utwórz kategorię główną"
  3. Dostaję widok formy kategorii głownej.
  4. Wpisuję nazwę tej kategorii.
  5. I do tej pory był luz, natomiast...
  6. dodałem przez ef core (z powodzeniem) drugą tabelę "Podkategorie"
  7. Dodałem ActionLink wyświetl kategorie głowne oraz ActionLink "Utwórz podkategorię"
  8. Wpisuje do formy nazwę podkategorii.
  9. No i lipa, bo modelState jest false.
  10. Co powinienem zrobić?
0

Najmocniej przepraszam, już sobie poradziłem. Musiałem po prostu trochę po główkować.
Po prostu w górnej tabeli trzeba było zezwolić na null i w drugiej to samo.
Kod:

public class KategorieGlowne
    {
        [Key]
        public int KatGlownaId { get; set; }
        public string? NazwaKategorii { get; set; }
        //tutaj !!!
        public ICollection<Podkategorie>? Podkategorie { get; set; }
    }
    public class Podkategorie
    {
        [Key]
        public int Id { get; set; }
        public string? NazwaPodkategorii { get; set; }
        [ForeignKey("KategorieGlowne")]
        public int KategoriaGlownaRefId { get; set; }
        //tutaj !!!
        public KategorieGlowne? KategorieGlowne { get; set; }

    }

I teraz hula ;-))

1 użytkowników online, w tym zalogowanych: 0, gości: 1