public IActionResult GetStudent() { var students = _context.Student .Include(s => s.StudentCourse) .ThenInclude(s => s.Course) .AsNoTracking(); //Transform to DTO var result = new DTO.StudentCourseResult() { Students = students.Select(s => new DTO.Student() { ID = s.ID, FirstName = s.FirstName, LastName = s.LastName, Courses = s.StudentCourse.Select(c => new DTO.Course() { ID = c.Course.ID, Title = c.Course.Title, Credits = c.Course.Credits }).ToList() }).ToList() }; return(Ok(result)); }
public async Task <IActionResult> Search(string name) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var students = await _context.Student .Include(s => s.StudentCourse) .ThenInclude(s => s.Course) .AsNoTracking() .Where(s => EF.Functions.Like(s.FirstName, name + "%") || EF.Functions.Like(s.LastName, name + "%")) .ToListAsync(); if (students == null) { return(NotFound()); } //Transform to DTO var result = new DTO.StudentCourseResult() { Students = students.Select(s => new DTO.Student() { ID = s.ID, FirstName = s.FirstName, LastName = s.LastName, Courses = s.StudentCourse.Select(c => new DTO.Course() { ID = c.Course.ID, Title = c.Course.Title, Credits = c.Course.Credits }).ToList() }).ToList() }; return(Ok(result)); }