<2 цента>
Что если позже вы решите использовать другой сервис, который требует больше или меньше, чем просто контекст?
Проблема с параметрами конструктора и IoC заключается в том, что параметры в конечном итоге связаны с конкретным используемым типом, а не являются частью контракта, определяемого интерфейсом службы.
Я бы посоветовал вам либо разрешить контекст, и я полагаю, что в Unity должен быть способ избежать создания 3-х его экземпляров, или вы должны рассмотреть фабричный сервис, который может создать объект.
Например, что если позже вы решите создать хранилище, которое вообще не будет полагаться на традиционную базу данных, а вместо этого использовать файл XML для создания фиктивных данных для теста? Как бы вы пошли о подаче содержимого XML в этот конструктор?
IoC основан на разъединении кода, связывая тип и семантику аргументов с конкретными типами, вы действительно не делали разделение правильно, есть еще зависимость.
"Этот код может взаимодействовать с любым типом репозитория, возможно, при условии, что он реализует этот интерфейс ... О, и использует контекст данных".
Теперь я знаю, что другие контейнеры IoC поддерживают это, и у меня это было в моей первой версии, но, на мой взгляд, это не относится к этапу разрешения.
</ 2 цента>