ЕСЛИ вы передаете строку подключения в DAL, вы делаете что-то вне уровня данных, осведомляя о базе данных, что является нарушением уровня. Ничто за пределами DAL не должно иметь никаких сведений о том, что связано с БД, если вы хотите, чтобы клиент установил, какую строку подключения использовать, а затем задали конфигурацию, и ничего более.
Если вы хотите отделить строку подключения, используйте фабричный шаблон и пусть он беспокоится о том, какую строку подключения использовать, принципал единой ответственности. Вы можете использовать внедрение зависимостей, конфигурационный файл и т. Д.