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
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.
Koupit tento kurz
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)
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íť.