Hirdetés

Új hozzászólás Aktív témák

  • bandi0000

    nagyúr

    Sziasztok

    Szükségem lenne egy gyorstalpalóra linq-ból, az is jó lenne ha 1-2 mondatba elmagyarázná valaki a lekérdezést, hogy kellene megcsinálni, vagy mire figyeljek

    Igazából az is jó lenne, ha valaki tud valami irományt adni erről, de amike találtam, ott nem pont ilyenek voltak, + nem is igazán értettem meg belőle semmit

    Már átrágtam pár tutorialt, de még mindig nem világos, hogyan kellene össze pakolnom

    lényeg:

    ASP.NET MVC
    Van egy osztály, amibe lekérdezek, FullName, Credits

    3 tábla van az adatbázisba
    Student<1...*>Enrollment<*...1>Course

    Student táblába FirstMidName, LastName külön van

    Le kellene kérdeznem, hogy tanulónként mennyi creditet csináltak, de nem igazán akar össze jönni

    Ezt így ,működik de nagyon csúnya, és egyáltalán nem értem mi történik benne, gondolom normálisabban is meg lehetne ezt csinálni

    IQueryable<CreditReport> data =
    from enrollment in _context.Enrollments.Include(x => x.Student.LastName).Include(y => y.Course.Credits)
    group enrollment.Student by enrollment.Student.Id into dateGroup
    select new CreditReport()
    {
    FullName = dateGroup.FirstOrDefault().FirstMidName + " " + dateGroup.FirstOrDefault().LastName,
    Credits = dateGroup.FirstOrDefault().Enrollments.Sum(x => x.Course.Credits)
    //CreditCount = dateGroup.
    };

    Itt csak a dátum szerint számoltuk meg a jelentkezéseket, itt jól gondolom,hogy
    -dátum szerint lett GroupBy
    -ezek az aggregált értékek bele kerültek a dataGroup-ba, tehát nincs 2 egyforma
    De akkor a selecten belül hogy kell értelmezni? bele rakja az egyes dátumokat, + kiszámolja hozzá az értékeket is?

    public EnrollmentDateReportController(GAMFDbContext Context)
    {
    _context = Context; // Db
    }
    public IActionResult Index()
    {
    List<EnrollmentDateVM> enrollmentDateList;
    IQueryable<EnrollmentDateVM> data =
    from student in _context.Students
    group student by student.EnrollmentDate into dateGroup
    select new EnrollmentDateVM
    {
    EnrollmentDate = dateGroup.Key,
    StudentCount = dateGroup.Count()
    };
    enrollmentDateList = data.ToList();
    return View(enrollmentDateList);
    }

Új hozzászólás Aktív témák