Что-то вроде (при условии LINQ-SQL):
using (YourDataContext db = new YourDataContext())
{
var data = from s in db.Students
select new
{
StudentId = s.StudentId,
LastHistory = s.Histories
.OrderByDescending(s => s.ModifiedAt)
.Where(s => s.Active)
.FirstOrDefault()
};
}
Это предполагает, что вы хотите, чтобы все студенты, независимо от того, есть ли у них какая-либо история.Если вы не хотите этого, вы можете начать с таблицы и группы журнала по идентификатору студента.
Чтобы просмотреть SQL, вы можете навести переменную в отладке, чтобы увидеть полученный SQL.Мне лень конвертировать LINQ; -)