То, что вы называете классами менеджера, действительно "репозитории"
Репозитории должны работать только на уровне совокупного корня, а не по одному репозиторию на класс.Например, если у меня есть класс Order, который имеет коллекцию OrderItem, то существовал бы репозиторий Order, в котором были бы методы Get / GetAll - поскольку в этом случае Order является корнем agg.
Все классы репозитория обычнобыть одноэлементными классами, где вы обычно можете легко реализовать это с помощью контейнера IOC.
В целом, я бы сказал, что ваш подход к одному «хранилищу» на сущность плохой - вместо этого придерживайтесь одного хранилища на совокупный корень.