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í.
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:4.5.2019 22:44

Zdravím používám .net core ef a dělám návrh db. Jde mi o následující věc, abych to udělal správně. Řekněme že mám model File. To reprezentuje soubor na disku je tam název, velikost, jméno atd A já tento model potřebuji "rozšířit". Řekněme, že mám Model Image, který má stejné vlastnosti jako File + nějaké své. A teď mi de o to jak to udělat co nejlíp.

  1. Nenastavovat File jako entitu a ve třídě Image si File zdědit a tento model dát jako entitu. V tuto chvíli by ale neexistovala tabulka File, pouze by byli ty odvozené, což mi přijde zvláštní.
  2. Nastavit File jako entitu a ve třídě Image si File zdědit a tento model dát taky jako entitu. To je fajn, ale tabulky o sobě nebudou vůbec vědět.
  3. V modelu Image pouze vytvořit propertu File. To je z hlediska DB, takové nejlepší mám objekt Image a ten má propertu File. Ale z hlediska kódu (modelů) mi to připadá zvláštní, spíš se mi tam více hodí ta dědičnost... Protože tady to opravdu platí, že vždycky jenom rozšiřuju může to být Iamge, Video atd.

Předek díky za jakýkoli nápad či radu! Celkem se v tom plácám díky

Zkusil jsem: Hned jsem psal jsem, protože o velice konkrétní problém.

Chci docílit: Správného návrhu db.

 
Odpovědět
4.5.2019 22:44
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Petr Kasnal
vajkuba1234:5.5.2019 3:08

Tak si prvne na papir navrhni graficky strukturu databaze, jake bude mit tabulky a vztahy mezi nimi, a na zaklade toho pak zacni tvorit modely. Btw co treba interface?

Editováno 5.5.2019 3:08
Nahoru Odpovědět
5.5.2019 3:08
No hope, no future, JUST WAR!
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na vajkuba1234
Petr Kasnal:5.5.2019 13:21

Na papíře to mám nakreslené. Jenže tady právě nevím jak to databázově udělat. Jak jsem psal jsou tři možnosti.

  1. Neexistuje tabulka File, ale existují rozšířené jako Image, Video atd. To znamená, že existuje model File a tento model není zaregistrovaný jako entita a je zděděn modelem Image a Video.
  2. Existuje tabulka File a existují rozšířené jako Image, Video atd. To znamená, že existuje model File a tento model je zaregistrovaný jako entita a je zděděn modelem Image a Video. Tohle je celkem dobrý, ale tabulky o sobě neví, což nevím jestli je správně.A jsou zdvojené všechny vlastnosti.
  3. Existuje tabulka File a rozšíření jako Image, Video atd. To znamená, že existuje model File a tento model je zaregistrovaný jako entita a v modelu Image nebo Video se nachází properta File. To znamená, že tabulka File má vlastnosti Name, Size, ContentType a tabulka Image má cizí klíč IdFile a třeba Width a Height. Tohle mi přijde celkem dobrý, ale nevím jestli je to určitě správně

Snad je to jasné. Ano přes rozhraní by to samozřejmě šlo, ale je tam stejná otázka. Předem díky za radu :)

 
Nahoru Odpovědět
5.5.2019 13:21
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Petr Kasnal
vajkuba1234:6.5.2019 4:01

Puvodne jsem to nepochopil, ale hledas asi neco podobneho
https://docs.microsoft.com/…/inheritance?…

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
6.5.2019 4:01
No hope, no future, JUST WAR!
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na vajkuba1234
Petr Kasnal:6.5.2019 17:55

Přesně tohle jsem myslel! Bomba díky :)

 
Nahoru Odpovědět
6.5.2019 17:55
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.