- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Milyen okostelefont vegyek?
- Magisk
- iPhone topik
- Fotók, videók mobillal
- Redmi Note 15 Pro+ - több plusz, mint mínusz
- Brutális akkumulátort kaphat a Honor X80 GT
- Kis tárcsa kerül a nagy mellé a kameratelefonon
- Garmin Forerunner 965 - csúcs
- Bluetooth-headsetekről általában
Új hozzászólás Aktív témák
-
joysefke
veterán
válasz
Alexios
#9707
üzenetére
Nekem ezzel és ehhez hasonló generikus repositorikkal: Implementing the Repository and Unit of Work Patterns in an ASP.NET MVC Application (9 of 10) | Microsoft Docs
Az a bajom, hogy az ilyen metódusok mint Update<T>(T entity) , esetleg Save<T> (vagy Upsert<T>), Delete() elhitetik a hívó oldalon, hogy ennyire egyszerű a perzisztencia, hogy meghívod őket utána a UoW-ön egy Save()-t és kész. És hogy ez mindenre működik amit típus paraméterként át tudnak adni.
Holott
-nem feltétlenül értelmezhető/működik minden lehetséges T entitás típuson az összes művelet,
-nem hívhatsz egymástól függetlenül mindenféle Repository metódust egy UoW tranzakción belül,
-illetve lehet hogy mondjuk az Update<T>(T entity) működik, de mondjuk az adott konkrét entitásra nem a mindenkire érvényes implementáció-t akarná a kliens kód hajtani.
-Az is lehet hogy van egy entitásod ami már trackelve van, mivel az egyik repository metódus impliciten előkerítette, majd a másik ráhív egy attach-ot a már trackelt entitásra. => exception, holott amit a kliens el akar érni annak van értelme és meg is valósítható lenne egy tranzakción belül (DB engedné egy megfelelő SP-vel, illetve engedné az EF is, ha ügyesen lenne megcsinálva).Ami nekem sokkal szimpatikusabb:
Kliens kód kap egy interfészt amin azok a perzisztencia műveletek vannak amelyekre a kliensnek konkrétan szüksége van.
Az interfészt megvalósító osztály EF-függő, az adott metódusa pedig közvetlenül indít EF dbcontext-et (lehetőleg DI-on keresztül szerez ehhez egy DbContextFactoryt vagy azzal egyenértékű opciót amiből Contextet lehet előállítani), közvetlenül attach-csolhat entitást és állít EntityState-t, illetve menti a tranzakciót. Tehát kihasználja az EF tényleges tudását és azt biztosítja a hívónak amire annak szüksége van, lehetőleg egyetlen hívásból.
Ú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!
- Viccrovat
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Autós topik látogatók beszélgetős, offolós topikja
- Elektromos (hálózati és akkus) kéziszerszámok, tapasztalatok/vásárlás
- exHWSW - Értünk mindenhez IS
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Kertészet, mezőgazdaság topik
- Videó stream letöltése
- Fejhallgató erősítő és DAC topik
- Formula-1
- További aktív témák...
- Lenovo 40AH és 40A1 dokkoló, töltő is.
- 197 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070 (ELKELT)
- Xbox One S All Digital 1 TB + kontroller 6 hó garancia, számlával!
- Apple iPhone 16e 128 GB White 100% Akkumulátor 12 hónap Garancia Beszámítás Házhozszállítás
- 209 - Lenovo Yoga Pro 7 (14APH8) - AMD Ryzen 7 7840HS, no GPU
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


