Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:4. května 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. května 22:44
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Petr Kasnal
vajkuba1234:5. května 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. května 3:08
Nahoru Odpovědět 5. května 3:08
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na vajkuba1234
Petr Kasnal:5. května 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. května 13:21
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Petr Kasnal
vajkuba1234:6. května 4:01

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

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 6. května 4:01
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na vajkuba1234
Petr Kasnal:6. května 17:55

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

 
Nahoru Odpovědět 6. května 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.