Вы всегда можете вручную выбрать только имя, например
context.Student.Select(x => x.Name);
Но это не работает со свойствами навигации и автоматически создаваемыми объединениями между таблицами. Там «все или ничего».
Или вы должны выполнить соединение полностью вручную, без свойств навигации.
Но ваша структура не так уж сложна и не уязвима для округлостей. Просто начните с Grade, с якорным элементом посередине.
context.Grade.Include(x => Subject).Include(x =>Student)
Это, по крайней мере, более простой способ загрузить всю структуру и может быть подходом для начальной точки для ручных соединений.
Может быть, вы добавите
.GroupBy(x => x.Student)
, чтобы приблизиться к вашему списку студентов.
Вы не можете пропустить «загрузку» коллекции, потому что это оценки, которые загружается первым. Итак, сначала есть элементы коллекции, а затем субъект субъекта. Нет смысла не помещать данные в сборник.