TL; DR: Основная причина заключается в том, что строки подключения должны находиться в файле конфигурации . Это означает, что данные должны соответствовать формату файла конфигурации. Простая строка (в отличие от набора свойств) работает для каждого типа конфигурационного файла и не требует специфичного для формата синтаксиса, например, для файл конфигурации JSON или XML.
Во-вторых, не каждая строка подключения использует одинаковые свойства. Некоторые свойства являются взаимоисключающими (например, встроенная защита и учетные данные для входа), некоторые свойства имеют разные имена для разных поставщиков данных.
Connectionstrings.com является хорошим примером того, насколько разнообразными могут быть строки подключения. Вы увидите, что не каждое свойство используется в каждой строке.
Обновление - Это список свойств строки подключения для конкретного подключения к службам Analysis Services. Это даже не учитывает других поставщиков данных, и посмотрите, насколько сложен сбор свойств.
Если бы вы сделали объект, представляющий вашу строку соединения, вам пришлось бы предоставить все возможные свойства, что больше, чем нужно среднему разработчику, что приводит к большому количеству избыточности (и пусто) настройки.
В-третьих, вы часто не просто меняете один настроек строки подключения. Строки подключения рассматриваются как единое целое, поскольку после их создания вы в основном работаете с «строкой подключения DEV» или «строкой подключения TEST».
С этой целью часто безопаснее просто думать о строках соединения как о целых объектах, а не о совокупности свойств.
Наконец, если вы действительно хотите определить строку подключения по отдельным свойствам, вы все равно можете это сделать. SqlConnectionStringBuilder существует именно для этой цели.
Но большинство разработчиков не создают свои собственные строки подключения и вместо этого используют их в качестве ключа конфигурации, по причине, о которой я упоминал выше.