- Bemutatkoztak a be quiet! Light Base 500 szériás, kábeleket rejtő házai
- A Chieftec néhány terméke fehér köntöst öltött
- Sokkal drágább lett az „olcsó” Tesla, mint várták
- Egy fontos tényező akadályozhatja a csúcstechnológiás chipgyártást az USA-ban?
- Visszatért a mítosz, a legenda, a világ leghasznosabb terméke!
Új hozzászólás Aktív témák
-
leslie23
tag
válasz
joysefke #9708 üzenetére
Igen, az mindenképpen cél, hogy a presentation layernek ne legyen EF Core dependenciája és ahogy Alexios is írta, ha éppen arra van szükség, gond nélkül cserélhető legyen a DataAccess layer akár Dapperre, sima ADO.NET-re, bármire.
Mivel saját hobbiprojektről van szó, így erre soha nem fog sor kerülni, de most valahol pont az elmélet érdekelne, hogy hogyan lehet és kell ezt jól megcsinálni. Olvastam a hivatkozott MS-os leírást is egyébként.„Ami nekem sokkal szimpatikusabb...”
Huhh, lehet, hogy valami nagyon hasonlóról beszélünk egyébként, próbálom értelmezni. Neten található projektek alapján most úgy legoztam össze, hogy a presentation layer egyIUnitOfWork
interfészt lát a DataAccessből, és aProgram.cs
-ben bele van rakva egy példánya aUnitOfWork
-nek DI konténerbe.IUnitOfWork
szintén interfészeket tartalmaz mint property-k (IPersonRepository
,IProductRepository
, stb.).
A generikus Repo-nak is van egy generikus interfésze (IRepository<T>
), ebben nincs pl. Update metódus, csak Add, Remove, GetAll, GetFirst.IProductRepository
örökölIRepository<Product>
interfésztől, illetve tartalmazhat specifikus metódusokat, mondjuk épp egy ilyet hogy:void Update(Product product)
.
A konkrét implementációk pedig pl.:ProductRepository : Repository<Product>, IProductRepository
,
vagyis öröklik a generikus repo metódusait, és implementálják az entitás-specifikus metódusokat, annak számít most mondjuk egy Update is.Ha jól értelmezem az általad írottakat, valami hasonlóra gondolsz, csak az interfészeket szerencsésebb lenne kiszervezni egy külön assembly-be, ami amúgy logikusan is hangzik.
Mondjuk ha jó a sejtésem, az EF Core-t teljesen nem lehet „száműzni” a presentation layerből, mert a DI miatt a kell a builder.Services.AddDbContext...Automapper témában sajnos csak másra tudok mutogatni, jómagam még nem kísérleteztem vele, így nem tudom mennyire validak az itt leírt ellenérvek...
Ú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!
- Óvodások homokozója
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- exHWSW - Értünk mindenhez IS
- iPhone topik
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Információbiztonság, kiberbiztonság, adatvédelem
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- PlayStation 5
- Honor 200 - kétszázért pont jó lenne
- Borderlands 4
- További aktív témák...
- Sapphire Pulse RX 9070 16 GB - 3 év garancia
- Dell Precision 5530, 15,6" FHD IPS kijelző I7-8850H CPU, 32GB DDR4, 1TB NVMe SSD, Nvidia 4GB VGA, W
- HP Elitebook 840 G8 i5-1145g7 16GB/512GB
- Lenovo ThinkPad P50, 15,6" FHD IPS kijelző I7-6820HQ CPU, 16GB DDR4, 256GB NVMe SSD+1TB HDD, Nvidia
- Lenovo Thinkpad L390, 13,3" FHD IPS kijelző I7-8565U CPU, 16GB DDR4, 256GB NVMe SSD, W11, Számla, 1
- Surface Laptop 5 Touch 13.5 Retina i7-1265U 10mag 4.8Ghz 16GB 512GB Intel Iris XE Win11 Pro Garancia
- Lenovo E490 Notebook i7/16/500
- BESZÁMÍTÁS! ASROCK B650M R5 7600X 32GB DDR5 1TB SSD RX 7900 XT 20GB Zalman Z1 PLUS A-Data 750W
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Xiaomi 15 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest