Вы можете использовать внедрение зависимостей, чтобы предоставить каждому из них соединение ...
другой способ - использовать провайдера Oracle с внутренним пулом подключений (например, Devart dotconnect, я всего лишь клиент) ... тогда вы разделяете строку подключения только через внедрение зависимостей или файл конфигурации ... каждый класс создает / освобождает соединение самостоятельно ... центральный пул соединений заботится обо всем остальном (повторное использование соединений и т. д.) ... таким образом, вам не нужно беспокоиться о проблемах с потоками, связанных с соединениями ...