• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Klucz obcy w tabeli, podejście Code-First

VPS Starter Arubacloud
+1 głos
389 wizyt
pytanie zadane 12 września 2022 w C# przez everstudybee Użytkownik (670 p.)

Hej mam problem ze zrozumieniem tworzenia klucza obcego w Modelu w projekcie ASP.NET Core 6 MVC.

Poniżej jest link do dokumentacji i chodzi https://docs.microsoft.com/pl-pl/ef/core/modeling/relationships?tabs=fluent-api%2Cfluent-api-simple-key%2Csimple-key#foreign-key

Jest tam taki kod:

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }

    public List<Post> Posts { get; set; }
}

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }

    public int BlogForeignKey { get; set; } //linia 1
    public Blog Blog { get; set; } //linia 2
}

Chodzi o linie z komentarzem linia 1 i linia 2. Czemu trzeba podawać te dwie linie? W bazie tworzą się dwa pola i linia 1 tworzy pole int z numerem Id Blogu, a dopiero linia 2 tworzy klucz obcy. Po co Microsoft zaleca dublowanie tej samej informacji?

Ogólnie wszystko działa, tylko chodzi mi o to czemu jest takie zalecenie, a nie tylko linia 2 by tworzyło się jedno pole w tabeli.

1 odpowiedź

+3 głosów
odpowiedź 12 września 2022 przez Velta Maniak (52,750 p.)
wybrane 13 września 2022 przez everstudybee
 
Najlepsza

Czemu trzeba podawać te dwie linie?

Nie trzeba! Mówi o tym wspomniany przez Ciebie poradnik, wskazując na kilka konwencji utworzonych modeli i wyjaśniając minimum w sekcji Single navigation property:

Including just one navigation property (no inverse navigation, and no foreign key property) is enough to have a relationship defined by convention. You can also have a single navigation property and a foreign key property.

To wyłącznie nawigacja wsteczna przez referencję – dla wygody. Wyświetlając informacje o poście możesz też przy okazji pokazać jakieś podstawowe informacje o blogu, na którym dany post został opublikowany, ale nie musisz.

komentarz 13 września 2022 przez everstudybee Użytkownik (670 p.)
Tak to jest jak się pisze po nocy i się nie doczyta na spokojnie całego artykułu. Dzięki serdeczne za odpowiedź, mój błąd

Podobne pytania

0 głosów
1 odpowiedź 251 wizyt
pytanie zadane 26 września 2016 w C# przez Kfiotek Początkujący (370 p.)
0 głosów
1 odpowiedź 369 wizyt
0 głosów
0 odpowiedzi 151 wizyt
pytanie zadane 24 listopada 2019 w C# przez michal Mądrala (5,560 p.)

93,012 zapytań

141,977 odpowiedzi

321,266 komentarzy

62,354 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...