Остановите LINQ to SQL dbml от обновления строки подключения, когда я перетаскиваю таблицы в файл dbml

Каждый раз, когда я перетаскиваю измененную таблицу в свой dbml, VS2010 хочет, чтобы я обновлял строку соединения, даже если я создал соединение для передачи данных с точно такой же информацией. Каждый раз, когда это происходит, моя строка подключения меняется на «DataSourceConnectionString». и я должен удалить его из 5 разных файлов и заменить его именем строки подключения, которую я использовал ранее, чтобы он не испортил всех остальных, использующих файл через систему контроля версий. Есть идеи?

Ответы на вопрос(2)

Решение Вопроса

как повозился с ответами на некоторые несколько связанные вопросы.

Чтобы решить возникшую проблему, мне нужно было удалить созданное мною подключение к данным для подключения к моей базе данных из окна обозревателя серверов в VS2010. Затем вам нужно открыть конструктор .dbml, щелкнуть правой кнопкой мыши в пустом пространстве и выбрать свойства. Откроется окно свойств, и появится «Соединение». раздел, нажмите на маленькую стрелку, чтобы открыть его. Если щелкнуть строку строки подключения, появится кнопка с точками (...). При нажатии на эту кнопку откроется окно свойств подключения. В этом окне уже будут все те же свойства соединения, что и в вашем .dbml. Все, что вам нужно сделать, это нажать «ОК»; и он автоматически создаст для вас соединение данных в обозревателе серверов, что не заставит вас добавлять новую строку соединения в .dbml при перетаскивании в нее нового объекта!

Ура! Больше не нужно удалять лишние строки подключения при каждом обновлении! : D

 11 дек. 2013 г., 22:11
Да! оно работает. но мне интересно, как ?! как это в этом ?!
 11 дек. 2013 г., 22:11
благодарю вас. @ Стук да, это странно
 22 янв. 2015 г., 10:36
Сначала я пропустил этап удаления соединения, созданного в обозревателе серверов, и подумал, что это решение не работает, но после перечитывания вашего ответа и точного выполнения ваших шагов мне было очень приятно узнать, что оноdoes Работа. +1 за то, что я узнал, как это сделать, так как это годами мешало мне!
 19 нояб. 2013 г., 09:37
Это так странно, но большое спасибо. Я ненавижу, что MS просто перестала работать над LINQ to SQL. Это способ проделать большую работу по восстановлению всего с помощью Entity Framework.

используйте перегрузку, которая позволяет вам указать строку подключения. Это перезапишет все значения, которые были там заданы Дизайнером. Например, вместо просто:

DataClasses1DataContext db = new DataClasses1DataContext();

использовать:

DataClasses1DataContext db = new DataClasses1DataContext("..connection string..");

или же

DataClasses1DataContext db = new DataClasses1DataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);

Надеюсь, это то, что вы ищете.

 Chris - Haddox Technologies27 июн. 2012 г., 14:21
Я не думал об этом. Было бы хлопотно набирать это миллион раз, так как у меня есть статические классы, которые я вызываю и которые требуют создания экземпляра DataContext. Я на самом деле понял это вчера, но у меня была проблема в течение многих месяцев, поэтому я хотел опубликовать это здесь для других людей. Спасибо за ответ
 03 окт. 2012 г., 16:42
Кажется, что VS 2012 наконец-то понял все правильно, не вставляя строку подключения в код. В VS 2012 создание экземпляра контекста данных без параметров вызовет конструктор, который считывает значение из AppSettings в web.config. Используемый ключ AppSettings можно изменить / установить на вкладке Свойства файла dbml.

Ваш ответ на вопрос