IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.

Lekce 4 - E-shop v ASP.NET Core MVC - Relace a Repository

V minulé lekci, E-shop v ASP.NET Core MVC - Produkty a kategorie, jsme navrhli databázové tabulky pro uchovávání produktů a jejich kategorií.

Dnes v ASP.NET Core tutoriálu doplníme nové entity Product a Category o relace a aktualizujeme databázi. Dále se podíváme na jednu z možných implementací návrhového vzoru Repository. Budeme zase pracovat pouze v datové vrstvě - v projektu Eshop.Data.

Relace mezi produktem a kategorií

Nastavíme vazby mezi produktem a kategorií, tedy mezi entitami Product a Category. Zde bude relace typu M:N, neboť jedna kategorie může obsahovat více produktů a také jeden produkt může patřit do více kategorií. Tato vazba se řeší přidáním vazební tabulky s cizími klíči do obou původních tabulek.

Třída CategoryProduct

Do složky Eshop.Data/Models/ přidáme novou třídu CategoryProduct (název volíme podle konvence dle entit, které bude tato tabulka propojovat):

namespace Eshop.Data.Models
{
    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; }
    }
}

Modely Product a Category

V našich třídách Product a Category si teď vytvoříme dvě vazby 1:N.


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Omezená nabídka: Nauč se vše a ušetři

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za exkluzivní cenu 2 085 Kč
Aktuální stav konta 0 Kč
Koupí tohoto výhodného balíčku získáš přístup ke všem 34 článkům (34 lekcí) tohoto kurzu s kontrolou a certifikací a ještě navíc ušetříš 556 Kč. Nabídka je časově omezená a platí pro všechny lekce v kurzu. Nakup teď a získej limitovanou 21% slevu.

Před koupí tohoto článku je třeba koupit předchozí díl

Obsah článku spadá pod licenci Premium no-reselling II, koupí článku souhlasíš se smluvními podmínkami.

Komerční článek (licence no-reselling)

Komerční článek (licence no-reselling)

Tento článek vznikl na základě mnohaletých zkušeností v oboru a popisuje vývoj profesionálního komerčního produktu nebo jeho součásti, kterou lze přímo využít za účelem zisku nebo proniknutí do komerční sféry IT odvětví.

Tyto vrcholové znalosti zpřístupňujeme samozřejmě pouze některým členům komunity, kteří se mají zájem vypracovat na profesionály v oboru a proto jsou k dispozici pouze za kredity. Kód z článku můžete použít pro jeden svůj komerční projekt. Není ho však možné přeprodávat (jednou zakoupit a poté prodat dále v několika projektech). Pokud potřebujete širší využití kódu, rádi se s vámi domluvíme na komerční licenci. Více informací naleznete v článku Licence.

Jste připraveni stát se profesionály v oboru? Stačí kliknout.

Popis článku

Požadovaný článek má následující obsah:

V ASP.NET Core tutoriálu nastavíme relace mezi entitami, vložíme testovací data a implementujeme návrhový vzor Repository.

Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Článek pro vás napsal Martin Petrovaj
Avatar
Autor je lenivý vymýšľať nejaký slušný podpis. Venuje sa ale prevažne C#.
Aktivity