Kérdés: MVC projekt esetén tipikusan mit értünk ViewModel alatt?
!Egy View alapját szolgáltató osztály, mely tipikusan tartalmaz számított mezőket és lekérdezett értékeket.
Azon osztályok ezek, melyek az adatbázisban kerülnek perzisztálásra.
Egy View alapját szolgáltató osztály, mely tipikusan nem tartalmaz számított mezőket és lekérdezett értékeket.

Kérdés: Tipikusan mit értünk Context alatt?
Minden ide tartozik, ami a Model osztályokban van.
Minden ide tartozik, mely megmondja, hogy hol és milyen adatok érhetőek el.
!Minden ide tartozik, amely a tárolt adatokat írja le (tulajdonságok, kapcsolatok).

Kérdés: MVC projektben, adatkezeléssel kapcsolatban, miért/mikor előnyös Initializer használata?
Mert így minden Model osztályból tábla készíthető, egy lépésben.
!Mert így nem kell újra felvinni teszt adatokat fejlesztés közben, amikor intenzíven változik a db séma.
Mert így minden változás a sémában automatikusan rögzítve lesz.

Kérdés: Entity Framework – mit jelent a Table-per-hierarchy pattern használata/mit eredményez?
Minden keletkezett táblában benne lesz az összes tulajdonság, ami csak felmerül a Context-ben, így gyorsul a hozzáférés.
!Minden öröklődési hierarchiához egy tábla készül az ős nevével, mely minden leszármazott tulajdonságot és Discriminatort tartalmaz.
Annyi tábla keletkezik belső hivatkozásokkal, ahány osztály részt vesz az öröklésben.

Kérdés: Entity Framework – mit jelent a Table-per-type pattern használata/mit eredményez?
!Annyi tábla keletkezik belső hivatkozásokkal, ahány osztály részt vesz az öröklésben.
Minden öröklődési hierarchiához egy tábla készül az ős nevével, mely minden leszármazott tulajdonságot és Discriminatort tartalmaz.
Minden keletkezett táblában benne lesz az összes tulajdonság, ami csak felmerül a Context-ben, így gyorsul a hozzáférés.

Kérdés: Entity Framework – konkurencia kezelésére melyek a lehetséges módok?
Contextben lock segítségével.
!Timestamp/RowVersion használata.
!Where feltételben az összes tulajdonság megjelenítése.

Kérdés: MVC projekt esetén mire való a MasterPage?
Ez tipikusan a nyitóoldal.
Ez tipikusan a kezdőoldal.
!Ez adhatja a keretet, melyben a tartalom megjelenhet.

Kérdés: MVC projekt esetén mire használható a ViewBag?
!Egy View kollekciót lehet segítsségével megjeleníteni, akár egyszerre több controllerből is.
Olyan objektum, melynek nincsenek előre definiált tulajdonságai, kétirányban bármi bele tehető.
View-kat lehet controllerekhez küldeni vele.

Kérdés: Entity Framework – tipikusan milyen típusú elemekből lesznek táblák?
ViewModelekből, ez attributummal jelezhető.
!Model folder POCO osztályaiból.
Controller metódusok ActionResult visszatérésű elemeiből.

Kérdés: Entity Framework – Ha tulajdonságként 1:N kapcsolat megvalósítása a cél, akkor…
…generikus IDictionary interfészt megvalósító tulajdonság kell.
…IList<long> tulajdonság kell az idegen kulcs miatt.
!…generikus ICollection interfészt megvalósító tulajdonság kell.

Kérdés: Entity Framework – Ha tulajdonságként 1:1 kapcsolat megvalósítása a cél, akkor…
…protected property kell, olyan típussal, ami a hivatkozott elem típusa.
…virtual property kell, olyan típussal, ami a másik elem típusa.
!…publikus property get részében kell lekérdezni ID alapján és visszaadni.

Kérdés: Entity Framework – mivel szabályozható, hogy mely osztályokból készüljön tábla?
Ezt Context generikus DbSet tulajdonságai határozzák meg.
Web.config fájl ConnectionStrings részében kell megadni.
!A model osztályok atributumai határozzák meg.

Kérdés: Entity Framework – hogyan állíthatjuk be az adatok inicializálását?
Initializer osztály kell / Initialize() metódus felülbírálatával.
Az Application_Start() metódus való erre.
!Initializer osztály kell / Seed metódus override.

Kérdés: MVC projekt esetén tipikusan hova futnak be a browser kérései?
Controller osztályok ActionResult attribútummal ellátott metódusaihoz.
!Controller osztályok publikus metódusaihoz.
Manager osztályok publikus metódusaihoz.

Kérdés: Mi határozza meg, hogy a browser címsorában lévő URI hova mutat az alkalmazásban?
Controllerek publikus metódusaihoz futnak be.
!Routing szabályokkal kell megadni.
A Contextben kell megadni.

Kérdés: MVC - Hogyan tud egy View értékeket visszaadni egy Controllernek?
!FormCollection segítségével.
QueryString segítségével.
ViewModel postolásával.

Kérdés: Miért előnyös az IQueryable interfész használata?
Mert így az adatbázisba nem kell külön elmenteni az adatokat, ez azonnal megtörténik.
!Mert Query Object pattern megvalósítás miatt, csak a lekérdezést tárolja, késői kiértékelés lehetséges.
Mert így azonnal rendelkezésre áll az egész halmaz, igaz több adat kerülhet átvitelre.
