public IEnumerable <Message> GetMessages(int startIndex, int maxResult) { var messages = messageDao.GetMessages(startIndex, maxResult) .Where(CanRead) .ToList(); var commentsCount = commentDao.Count(messages.Select(r => (ProjectEntity)r).ToList()); return(messages.Select((message, index) => { message.CommentsCount = commentsCount[index]; return message; })); }