BLACK FRIDAY! Slevy až 80 % jsou všude. Tak je nepropásni a přejdi do rostoucího IT oboru!

4. diel - E-shop v ASP.NET Core MVC - Relácia a Repository

V minulej lekcii, E-shop v ASP.NET Core MVC - Produkty a kategórie , sme si okrem iného ukázali ako pridať do dátového modelu ďalšej entity vrátane DataAnnotation atribútov. Dnes v ASP.NET Core tutoriálu doplníme tieto entity o relácie a aktualizujeme databázu. Ďalej sa pozrieme na jednu z možných implementácií návrhového vzoru Repository.

Relácie

Medzi entitami Product a Category bude relácie typu M: N, pretože jedna kategória môže obsahovať viac produktov a tiež 1 produkt môže patriť do viacerých kategórií. Táto väzba sa rieši pridaním väzobné tabuľky s cudzími kľúčmi do oboch pôvodných tabuliek. EF Core bohužiaľ ešte (vo verzii 2.1) automatické generovanie väzobných tabuliek pre väzbu Many-To-Many nepodporuje, musíme si ju preto vytvoriť sami.

Pridajte si do zložky Models/ v dátovom projekte novú triedu CategoryProduct (názov volíme podľa konvencie podľa entít, ktoré bude táto tabuľka prepájať):

public class CategoryProduct
{
    public int CategoryId { get; set; }
    public virtual Category Category { get; set; }

    public int ProductId { get; set; }
    public virtual Product Product { get; set; }
}

Do tried Product a Category pridajte kolekciu typu CategoryProduct:

public virtual ICollection<CategoryProduct> CategoryProducts { get; set; }

Týmto sme vlastne v našich triedach vytvorili dve väzby 1: N, prvý medzi produktom a záznamy vo väzobnej tabuľke, druhú rovnako pre kategórie. Na záver ešte musíme


 

...koniec náhľadu článku...

Komerčný článok (licencia no-reselling)

Komerčný článok (licencia no-reselling)

Tento článok vznikol na základe mnohoročných skúseností v odbore a opisuje vývoj profesionálneho komerčného produktu alebo jeho súčasti, ktorú možno priamo využiť za účelom zisku alebo k preniknutiu do komerčnej sféry IT odvetvia.

Tieto vrcholové znalosti sprístupňujeme samozrejme iba niektorým členom komunity, ktorí sa majú záujem vypracovať na profesionálov v odbore a preto sú k dispozícii len za body. Kód z článku môžete použiť pre jeden svoj komerčný projekt. Nie je ho však možné prepredávať (raz zakúpiť a následne predať ďalej v niekoľkých projektoch). Ak potrebujete širšie využitie kódu, radi sa s vami dohodneme na komerčnej licencii. Viac informácií nájdete v článku Licencia.

Ste pripravení stať sa profesionálmi v odbore? Stačí kliknúť.

Popis článku

Požadovaný článok má nasledujúci obsah:

Nastavenia relácií 1: N a M: N v Entity Framework Code First, vloženie inicializačných a testovacích dát, implementácia návrhového vzoru Repository.

Obmedzená ponuka: Nauč sa všetko a ušetri

Kúpiť lekcie a funkcie postupne a po jednom 1056 bodov
Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh za exkluzívnu cenu 834 bodov
Na svojom účte máš aktuálne 0 bodov
Kúpou tohoto výhodného balíčku získaš prístup ku všetkým 34 lekciím s kontrolou a certifikáciou a ešte naviac ušetríš 553 Kč. Ponuka je časovo obmedzená a platí pro všetky lekcie v kurze. Nakúp teraz a získaj limitovanou 21% zľavu.
834 bodov získaš za pridanie svojho článku na sieť alebo za 2 633 Kč 2 080 Kč
Pre prístup k článku potrebuješ 32 bodov
Na svojom účte máš aktuálne 0 bodov
32 bodov získaš za pridanie svojho článku na sieť alebo za 80 Kč

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Kúpou článku k nemu získaš neobmedzený prístup a to nastálo. Posunieš svoje vedomosti zas kúsok dopredu a zároveň nám pomôžeš udržiavať celý projekt pri živote a pomáhať vám tak k lepšej budúcnosti.

Obsah článku spadá pod licenciu Premium no-reselling II, kúpou článku súhlasíš so zmluvnými podmienkami.

Body získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.

Dobiť body môžeš okamžite napr .:

Kartou SMS Prevodom
Kartou SMS Prevodom
Článok pre vás napísal Martin Petrovaj
Avatar
Autor je lenivý vymýšľať nejaký slušný podpis. Venuje sa ale prevažne C#.
Aktivity (1)