EntityFrameWorkCore利用子表外键查出带主表信息的Dto

//首先是两个entity
public class Teacher{
    public int ID{ get; set; } 

    public string  TeacherName{ get; set; }
}
public class Student{
    public int ID{ get; set; } 

    public string  StudentName{ get; set; }

    public int TeacherID{ get; set; } 

    [ForeignKey("TeacherID")]
    public Teacher Teacher{ get; set; } 
}
//再写两个dto
public class teacherDto{
    public int ID{ get; set; } 

    public string  TeacherName{ get; set; }
}
public class studentDto{
     public int ID{ get; set; } 

     public string  StudentName{ get; set; }

     public int TeacherID{ get; set; } 

     public string  TeacherName{ get; set; } 
}
//再就是映射
public StudentProfile()
        {
            CreateMap<Student, StudentDto>()
                .ForMember(x => x.TeacherName,
                opt => opt.MapFrom(x => x.Teacher.TeacherName))
                ;
            CreateMap<StudentDto, Student>();
        }

//最后查询
//_coreDbContext是数据库上下文,代码就不放出来了
 var query = _coreDbContext.Student.First();

最后查询的Dto返回的数据,Dto中其他数据都能出来,但是TeacherName出不来,我这个问题是出在哪儿