Obtener solo algunas columnas en la clase DTO de la tabla de Entity Framework

Estoy usando Entity Framework con C #. Tengo una tabla de Alumno en mi base de datos y tiene 30 columnas. Y quiero obtener solo algunas columnas de la tabla que están en la clase DTO sin escribir nombres de propiedad como abajo. ¿Cómo puedo conseguir esto

Mi clase DTO:

public class StudentDTO()
{
    public long Name{ get; set; }
    public long Surname{ get; set; }
    public DateTime BirthDate{ get; set; }
    public int StudentNumber{ get; set; }
}

Estoy buscando algo como esto:

context.Students.Select(p=> new StudentDTO
{
  ????? StudentDTO.AllProperties  ?????
}).ToList();

Por favor, no aconseje la solución a continuación, porque esto no es lo que estoy buscando.

context.Students.Select(p => new 
                             {
                                 p.Name,
                                 p.Surname,
                                 p.BirthDate,
                                 p.StudentNumber
                             }).ToList();

Respuestas a la pregunta(2)

Su respuesta a la pregunta