Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.

Kúpiť tento kurz

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh iba za 2 640 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto balíčku získaš prístup ku všetkým 34 článkom (34 lekcií) tohoto kurzu.

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

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

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 kredity. 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.

Kredity 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ť.

Č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