Ú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!
- Windows 10
- Házimozi belépő szinten
- OLED monitor topic
- Új termékkel és áremeléssel reagál a memóriahiányra a Raspberry Pi
- Mégsem lettek annyira pénztárcabarátok az új Intel CPU-k
- Milyen TV-t vegyek?
- Renault, Dacia topik
- Elemlámpa, zseblámpa
- Robotporszívók
- Milyen notebookot vegyek?
- További aktív témák...
- 27% - Corsair Nautilus 240 RS RGB White Vízhűtő!
- Eladó ÚJ TCL 501 2/32GB fekete / 12 hó jótállás
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4322
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
