Hirdetés
- iPhone topik
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Milyen okostelefont vegyek?
- Yettel topik
- Fotók, videók mobillal
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy Watch7 - kötelező kör
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 15T - reakció nélkül nincs egyensúly
Új hozzászólás Aktív témák
-
joysefke
veterán
válasz
bandi0000
#9945
üzenetére
Ahogy már írták a DbContext már önmagában is repository és unit of work.
Innen kezdve ha becsomagolod egy generikus repository + UoW absztrakcióba, akkor azt nem a funkcionalitás miatt teszed, hanem hogy elfedd a EntityFramework-öt, tehát hogy a repositoryt használó kód ne tudja magát az adott EfCore verzióhoz/funkciókhoz láncolni.
akkor van valami köztes réteg még a felület és az adatbázis közt, ami pl olyan feladatot látna el, hogy mentéskor ha ügyfelet és autót akarunk menteni, akkor a felületen kb csak annyi hívás legyen, hogy: SaveClientWithCar(Client client, Car car) és ez a köztes réteg lezongorázza a mentéseket ID generálással és beállítással?
Igen, a repository egy low level absztrakció az adathozzáférési rétegben.
Ha van egy featuröd (amit mondjuk egy UI page valósít meg) akkor annak a featurenek lesz konkrét igénye hogy adatokat tudjon olvasni a DB-ből (amit megjelenít a user számára) illetve a user által módosított adatokat perzisztálni tudja DB-be.
Az adatok formájára nézve a feature nyilván konkrét kívánalmakat fogalmaz meg. (e.g. mutasd az összes usert akinek van autója az autója típusával és évjáratával együtt) illetve meghatározza, hogy melyik adatmorzsa módosítható és melyik nem a feature kontextusában.Itt érdemes egy a featuret kiszolgáló, a repositorynál magasabb absztrakciós szinten lévő, data access service osztályt definiálni ami a repositoryra támaszkodva keríti elő a featuret hajtó kód számára az adatokat illetve menti el a változásokat. A repository-ból visszaadott adatokat arra a formára tudja adaptálni amilyen formában a featurnek szüksége van rá.
egy alternatíva lehet, hogy hagyod a repository patternt és ezeket az adott featuret kiszolgáló data access service osztályokat közvetlenül az Ef DbContext-re építed (DI-t használva nyilván) aztán a featuret hajtó logika használja ezeket (ezek interfészét).
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- iPhone topik
- Fejhallgató erősítő és DAC topik
- Milyen routert?
- Debrecen és környéke adok-veszek-beszélgetek
- Pécs és környéke adok-veszek-beszélgetek
- Milyen autót vegyek?
- PlayStation 5
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- AMD Navi Radeon™ RX 7xxx sorozat
- Home server / házi szerver építése
- További aktív témák...
- Ryzen 7 5700X / RX 7700 XT 12GB / B550M WIFI / 32GB RAM 3600MHz / 1TB NVMe SSD / 650W GOLD
- Samsung Galaxy S24+ 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Razer BlackWidow V4 PRO 75% - US + AJÁNDÉK RAZER VIPER V3 PRO
- Bomba ár! Dell Latitude E4310 - i5-520M I 4GB I 160GB I 13,3" I DP I Cam I W10 I Garancia!
- CANON EF 17-40 f/4 L USM MEGVIGYÁZOTT DARAB
- Alkalmi vétel! HP Omen 17! I7 12700H / RTX 3070Ti 8GB / 1TB Nvme SSD / 16GB DDR5 !
- 27% - AOC C24G2AE Monitor! / 1920x1080 / 165Hz / 1ms / FreeSync
- Akciós!! Előbb mint bárhol máshol !! Motorola Moto G77 8GB/256GB - 1 év garancia
- Lenovo ThinkPad T14 Gen1 Intel i5-10310U Refurbished - Garancia
- 27% - Asus külső Optikai megható!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

