Hirdetés
- Üzemidőt áldoz a fényerő oltárán a Garmin Fenix 8 Pro
- Vivo X200 Pro - a kétszázát!
- Akciófigyelő: Megnyílt a Xiaomi hivatalos magyar webáruháza
- Google Pixel topik
- Samsung Galaxy S23 Ultra - non plus ultra
- iPhone topik
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Xiaomi 15 - kicsi telefon nagy energiával
- Megérkezett a Pixel 5 és 4a 5G
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
Új hozzászólás Aktív témák
-
joysefke
veterán
EF Core vs Generikus repository/UoW + eager loading child-of-child property /.ThenInclude()/
Hogyan kell EF Core-val generikus repositoryt illetve UnitOfWorkot csinálni?
EF4-hez találtam jó tutorialt:
https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application#implement-a-generic-repository-and-a-unit-of-work-classItt a generikus repo lekérdező metódusai paraméterként elfogadnak egy stringet is, amely az eager-loaded property-k neveinek egymástól vesszővel elválasztott listáját tartalmazza. A lényegi rész itt van, ez éppen egy Get-metódus:
public virtual IEnumerable<TEntity> Get
(...,string includeProperties = "")
{ IQueryable<TEntity> query = dbSet; ... foreach (var includeProperty in includeProperties.Split (new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { query = query.Include(includeProperty); }Többek között ezt szeretném EF-Core3-ra átportolni. A problémám az, hogy EF Core-ra (úgy általában) nem találtam megoldást, hogy a gyemek property-k gyermekeit (és esetleg azoknak a gyermekeit) is betöltsem a generikus lekérdező-metódusban anélkül, hogy a hívó félnek EFCore-dependenciát adnék.
Pld egy N-N táblarelációt hogyan kezeljek? EF Core-ban ugye több-több kapcsolathoz kell egy join table (EFC-ben join entitás). A MS-os pédánál maradva lesznek nekem Student, StudentCourse és Course entitásaim. Mi van ha én a Student entitáshoz nem csak a StudentCourse entitásokat, hanem a Course entitásokat is be szeretném tölteni?
Meg lehet ezt értelmesen oldani?
Workaroundként, ha csak a childokat csak első ízig töltöm be (vagy első ízig SEM), akkor ha a lekérdezéseim a kliensnek IQueryable<TEntity>-t adnak vissza, akkor a kliens kedvére LINQ-joinolhat és a JOIN/lekérdezés még mindig az SQL Serveren hajtódik végre.
Vélemény?
Ú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!
- Mozgásban a Cronos: The New Dawn
- World of Tanks - OFF topic
- Kerékpárosok, bringások ide!
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Parfüm topik
- Vezeték nélküli fülhallgatók
- Xbox Series X|S
- A lemondást javasolja az Intel vezetőjének Donald Trump
- További aktív témák...
- új, bontatlan Kingston FURY Impact 32 GB KIT DDR4L-3200 SoDIMM CL20-22-22 memória / kisker garancia
- Asztali PC , i5 10400F , RX 6600 XT , 16GB DDR4 , 512GB NVME
- Bomba ár! Fujitsu H760 - i7-6820HQ I 32GB I 500SSD I 15,6" FHD I Nvidia 4GB I Cam I W10 I Garancia!
- LG 32" ívelt Monitor 32MR50C-B
- Bomba ár! HP EliteBook 840 G8 - i5-1145G7 I 8GB I 256GB SSD I HDMI I 14" FHD I Cam I W11 I Gari!
- BESZÁMÍTÁS! ASUS B760M i7 13700K 32GB DDR4 512GB SSD RX 6800 16GB Zalman Z1 Plus Corsair 750W
- Dell Precision 5540 i7-9850H 16GB 256GB 15.6" FHD Nvidia Quadro T1000 15.6" FHD 1 év garancia
- BESZÁMÍTÁS! ASRock X570 R9 5900X 32GB DDR4 1TB SSD RX 7800 XT 16GB Fractal Design Meshify 2 850W
- MSI Sword 16 - Core i7 / RTX 4050 / per key RGB / magyar garancia
- Xiaomi Redmi Note 13 Pro 256GB Kártyafüggetlen 1 év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest