Я использую Web API в многопользовательской среде. У каждого арендатора своя база данных с идентичной структурой. Имя арендатора включено в URL-адрес как поддомен: http://{tenant}.mysite.com/api/doodad/action.
Я написал фильтр сообщений (DelegatingHandler), чтобы получить имя арендатора и найти соответствующую базу данных. В настоящее время я прячу это значение в параметрах запроса.
Практически каждое действие контроллера требует доступа к DbContext, указывающему на эту базу данных. Я не использую шаблон репозитория. Я создал второй конструктор в моем DbContext, который принимает имя базы данных.
Я использую Unity для внедрения экземпляра DbContext в ApiController. Как я могу заставить Unity вызывать второй конструктор для DbContext, передавая значение из параметра запроса?