- Milyen okostelefont vegyek?
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Thaiföldön már videózzák a Samsung Galaxy A37-et és A57-et
- Redmi Note 9 Pro [joyeuse]
- Apple Watch
- iPhone topik
- Xiaomi 17 - még mindig tart
- Válságmódban a Samsung mobildivíziója
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Xiaomi 14T Pro - teljes a család?
Ú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!
- Milyen okostelefont vegyek?
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- A tajvani chipgyártóknak is beteszi a kaput a Hormuzi-szoros lezárása
- Apple MacBook
- Milyen házat vegyek?
- gban: Ingyen kellene, de tegnapra
- Mini PC
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Kés topik
- Kínai és egyéb olcsó órák topikja
- További aktív témák...
- 234 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
- HP ProBook 650 G5 - i5 8265U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- Apple Airpods 4 (2026.12.30-ig Apple Garancia)
- Bomba ár! Dell Latitude E7240 - i5-4GEN I 8GB I 128SSD I 12,5" HD I HDMI I W10 I Garancia!
- Samsung Galaxy A33 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


