Похоже, что обновление dbml всегда приведет к обновлению только корневого web.config. Скорее всего, будет проще поддерживать ваш проект, если вы используете только этот корневой web.config, но у вас есть другой вариант.
Каждая папка может иметь свою собственную конфигурацию, поэтому вы получаете исключение для дублированного имени. Если вы хотите обойти это, вы можете сначала удалить, а затем добавить строку подключения с тем же именем. Если вы сделаете это, ваш блок connectionStrings (в пределах /MySolution/MyProject/web.config
) будет выглядеть примерно так:
<connectionStrings>
<remove name="MyConnectionString"/>
<add name="MyConnectionString" connectionString="XXXXXXXXXX"
providerName="System.Data.SqlClient" />
</connectionStrings>
Как я уже сказал, я не могу порекомендовать вам сделать это, поскольку ваш dbml все равно будет сохранен в корневом web.config, поэтому другим разработчикам может быть нелегко понять, что происходит.