Есть несколько способов сделать это. Независимо от того, что вы выберете, вам, вероятно, не нужен полностью реализованный список . Вы можете улучшить использование памяти и производительность в своих программах, оставаясь с более простым типом IEnumerable<T>
чаще.
Вариант 1 - Оставайтесь с полным объектом ученика:
public IEnumerable<Student> GetThreeOldestStudents()
{
return db.Students.OrderBy(s => s.Birthday).Take(3);
}
Вариант 2 -Только имена
public IEnumerable<string> GetThreeOldestStudents()
{
return db.Students.OrderBy(s => s.Birthday).Take(3).Select(s => s.Name);
}
С любым из них, если вам действительно нужен список (подсказка: большую часть времени вы этого не делаете), вы всегда можете сделать вызов ToList()
после вызова метода (var oldest = GetThreeOldestStudents().ToList();
).