如何 select 仅导航的特定属性 属性

How to select only specific properties of navigation property

我有一个简化的实体结构,如下所示:

class MarkingTask{
    List<Task_Student> task_Students
}
 
class Task_Student{
    List<Task_Student_Marker> task_Student_Markers
}

class Task_Student_Marker{
    User marker
}
class User{
   string name;
   int age;
   int password;
}

我正在进行如下预加载:

   var taskList = context.markingTasks
                .Include(mt => mt.task_Students)
                .ThenInclude(ts => ts.task_Student_Markers)
                .ThenInclude(tsm => tsm.marker) //Here, only want to select marker.name 
                .ToList();

问题是我在哪里可以做一个 select 子句来导航 属性 到 select 几个感兴趣的栏目?例如,目前 User 的所有属性都被 selected,但我只想要 User.name.

我查了MSDN,好像include子句里面不支持select子句。 或者我必须把它分解成几个语句。

感谢提示

IncludeSelect是两个互斥的东西,不能在导航对象上同时设置。在我的例子中,它们都被解释为 left Join,但是 Include 将 select 导航对象中的所有属性。我最终做了一些嵌套的 select 来定位 interset

的属性
         var mts = context.markingTasks.Where(mt => mt.rubric.moduleConvenor.emailAddress == email && mt.task_Students.Count() != 0)
            .Select(mt => new {
                    mt.name, 
                    mt.moduleCode, 
                    students = mt.task_Students.Select(ts => new { 
                                                                    ts.student.name,
                                                                    ts.student.studentId, 
                                                                    markers = ts.task_Student_Markers.Select(tsm=>tsm.marker.userName).ToList()}).ToList()}).ToList();