Я могу придумать пару способов сделать это ..
1) Создайте DbContextFactory, которая создаст ваши экземпляры для вас. Может быть, применить атрибут к каждому контексту, который позволит вам извлечь соответствующую строку подключения БД из вашей коллекции строк подключения в тот момент, когда фабрика создает экземпляр? Небольшое отражение в DbContextFactory сделает это достаточно просто.
2) Если набор DbContexts вряд ли изменится и / или строки подключения либо - вы можете зарегистрировать каждый DbContext вручную, используя метод расширения AddDbContext <> () в ServiceCollection, а затем просто внедрить тот DbContext, который вы хочу в классы вы хотите