Вы бы запросили в своем хранилище последние комментарии определенного пользователя. что-то вроде
IList<Comment> recentComments = repository.GetRecentComments(user,20);
Вы МОЖЕТЕ сделать это в модели, но в зависимости от того, сколько комментариев вы ожидаете получить, я бы избежал этого. Модель не должна знать, как заполнить себя, это работа хранилища; однако, если вы используете что-то вроде NHibernate, оно будет там.
public class User{
public IList<Comment> Comments { get;set;}
public IList<Comment> GetRecentComments()
{
// Logic
}
}
В этой реализации вы всегда будете загружать ВСЕ комментарии, чтобы получить последние 20. Ничего страшного, если есть только 50 комментариев, но если есть 5000 комментариев, у вас немало накладных расходов. 1007 *