Új hozzászólás Aktív témák
-
martonx
veterán
válasz
bandi0000
#8523
üzenetére
Ez a linq még egészen olvasmányos. Szerintem itt nagyobb baj, hogy jó eséllyel fogalmad sincs, hogy SQL-ben hogy fognád meg ezt a problémát, mit jelent a groupby, hogyan dolgozzunk halmazokkal.
Nem szeretem ezt a fajta LINQ szintaktikát, na mindegy, közé kommenteztem, hátha így érthetőbb lesz, hogy mi - mit csinál.var data = //itt semmi értelme kiírni, hogy IQueryable<CreditReport> egy var bőven rövidebb
from enrollment in _context.Enrollments.Include(x => x.Student.LastName).Include(y => y.Course.Credits)
// a két include egy-egy sql joinnak felel meg, de rögtön szűr is, hogy csak 1-1 mezőt ad vissza
// gyanús, hogy ez felesleges bonyolítás, mert az enrollment-nek eleve van egy Student propertyje
// és talán Course property-je is? Ha jól van mappelve
group enrollment.Student by enrollment.Student.Id into dateGroup //itt csak szimplán rossz a dateGroup név :D mert ez StudentId-ra groupol :D
select new CreditReport()
{
FullName = dateGroup.FirstOrDefault().FirstMidName + " " + dateGroup.FirstOrDefault().LastName,
Credits = dateGroup.FirstOrDefault().Enrollments.Sum(x => x.Course.Credits)
};Selecten belül már nem kommenteztem, gondolom az triviális, hogy a group by-olt datasetből milyen adatokat veszel ki.
Szóval én a helyedben elsőre erősen utána néznék, hogy ugyanezt szimpla SQL-ben hogyan írnád meg, és miért, mire való a join, group by. Ha az SQL hátteret már érted, akkor a LINQ-t is jobban érteni fogod, hiszen az semmi mást nem csinál, mint egy SQL parancsot ad ki, csak épp nem SQL szintaktikával, hanem C# szintaktikával megfogalmazva.
Ú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!
- Linux kezdőknek
- VR topik (Oculus Rift, stb.)
- Gurulunk, WAZE?!
- Vigneau interaktív lokálblogja
- sziku69: Fűzzük össze a szavakat :)
- Olcsó vs. drága egér: melyiknél érzed meg igazán a különbséget?
- Spórolós topik
- Elfelejtettem a film címét
- Gumi és felni topik
- Magga: PLEX: multimédia az egész lakásban
- További aktív témák...
- Samsung 27" 2K 2560x1440 monitor Pivot is, állítható magasság S27A850D PLS panel, picit gyenge talp
- szinte új DELL C2422HE full HD 1920x1080 IPS monitor- rejtett Webkamera - nagy hangszóró - USB-C
- LG 83B4 - 83" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- 1db fekete szálka a képen! EIZO FlexScan EV2750 fekete 27" 2560x1440 2K IPS monitor PIVOT, HDMI
- EIZO FlexScan EV2495 Made in Japan! 1920x1200 IPS USB-c állítható magasság, PIVOT 2024-04 gyártás!
- ÚJ OMEN Transcend 14 - 14"2.8K OLED 120Hz - Ultra 7 155H - 16GB - 1TB - RTX 4060 - Win11 - 3 év gari
- Xiaomi Redmi 14C / 4/128GB / Kártyafüggetlen / 12Hó Garancia
- 8 GB GeForce RTX 3070 - garanciával
- Canon 1100D + 18-55 3,5-5,6 IS II digitális fényképezőgép
- HIBÁTLAN iPhone 13 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3756, 100% Akkumulátor
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

