Вообще, можно делить как заблагорассудится. Нужны аргументы почему именно так нужно разделить. Да и, если подумать, удобный в аргументировании S никто не отменял (из SOLID'a). Можно разделять репозитории по одному на сущность и аргументировать, что иначе ты нарушаешь S. И усё.
Все равно будет S нарушаться. Если заглянуть в Agile Software Development, Principles, Patterns, and Practices, у него в примере Payroll Database он в итоге разбивает класс PayrollDB с методами типа getEmpoyee(), getRecords() на класс по методу. то есть классы GetEmployeeOperation, GetRecordsOperation с методами Run…Operation. Что по сути сводится к банальным функциям, если выкинуть классы.
Интересно почему так не делают - простой функцией. Единственную проблему вижу только в том, что это никак не скрыть за интерфейсом, если это функция. А вот класс с методом можно. Но класс ради одного метода вместо функции выглядит очень отстойно