Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Я выяснил еще один вопрос после того, как перебрался с ответами на некоторые некоторые связанные проблемы.

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

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

Ответ 2

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

DataClasses1DataContext db = new DataClasses1DataContext();

использование:

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

или

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

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