По моему мнению, создание нового типа контроллера для хранения данных - это не идея, которую должен был делать контроллер.В скором времени новый общий контроллер должен содержать некоторые общие действия.
Комбинация репозитория и единицы работы более подходит в этом случае.Вы также можете принять во внимание реализацию контейнера IoC здесь.
Я предлагаю вам определить интерфейс IRepository для некоторых операций CRUD.И передать этот интерфейс в конструктор контроллера.Где какой-то IoC-преобразователь может предоставить конкретную реализацию для этого интерфейса.Большинство современных реализаций IoC (например, Ninject) могут предоставить вам такие опции, как создание одной конкретной реализации для всего приложения или только для запроса.