Думаю если небольшой, новый проект в котором все данные лежат в базе, которая создается из EF Code First, то использовать репозиторий особой нужды нет. Но например если сегодня я беру данные из базы, а завтра планирую получать от api или какой нибудь NoSQL к которой нет ORM ? А может сущности, которыми оперирует моё приложение ну совсем не похожи на те что лежат в базе или "собираются" из нескольких источников ?
Не надо рассматривать репозиторий как обертку над EF.
Теперь пара замечаний:
вот так
public IEnumerable<Student> GetLogs()
{
return context.Logs;
}
будет возвращен IQueryable и
GetLogs().Where(...)
будет ограничивать выборку с сервера.
Я бы с удовольствием посмотрел на страницу, где выводятся ВСЕ логи всех админов.
Но если она все же реально нужна я бы формировал её на клиенте так: получил AJAX запросом всех админов для каждого из них параллельно или последовательно запросил топ 100 мессаджей из логов (при необходимости следующие 100). Как следствие отталкиваться надо от UX тогда не будет желания писать репозиторий, который возвращает ВСЕ записи.
ЗЫ Пока ORM обеспечивает 100% данных и хватает мощности DB сервера все окей и без репозиториев, но при высокой нагрузке архитектура в корне другая и JOINы там выполняют отнюдь не DB сервера.