//实现接口方法 public async Task <IEnumerable <Teacher> > GetTeachersAsync(TeacherDtoParameters teacherDtoParameters) { if (string.IsNullOrWhiteSpace(teacherDtoParameters.TeacherGenderDisplay) && string.IsNullOrWhiteSpace(teacherDtoParameters.SearchTerm)) { return(await _context.Teachers.ToListAsync()); } var teacherItems = _context.Teachers as IQueryable <Teacher>; if (!string.IsNullOrWhiteSpace(teacherDtoParameters.TeacherGenderDisplay)) { teacherDtoParameters.TeacherGenderDisplay = teacherDtoParameters.TeacherGenderDisplay.Trim(); var teacherGender = Enum.Parse <Gender>(teacherDtoParameters.TeacherGenderDisplay); teacherItems = teacherItems.Where(x => x.TeacherGender == teacherGender); } if (!string.IsNullOrWhiteSpace(teacherDtoParameters.SearchTerm)) { teacherDtoParameters.SearchTerm = teacherDtoParameters.SearchTerm.Trim(); teacherItems = teacherItems.Where(x => x.TeacherName.Contains(teacherDtoParameters.SearchTerm)); } return(await teacherItems.ToListAsync()); }
public async Task <ActionResult <IEnumerable <TeacherDto> > > GetTeachers([FromQuery] TeacherDtoParameters teacherDtoParameters) { var teachers = await _teacherRepository.GetTeachersAsync(teacherDtoParameters); //为所有对象添加导航属性? foreach (var teacher in teachers) { teacher.Academy = await _academyRepository.GetAcademyAsync(teacher.AcademyId); } var teacherDtos = _mapper.Map <IEnumerable <TeacherDto> >(teachers); return(Ok(teacherDtos)); }