Развертывание проекта с использованием LINQ to SQL

StackOverflow https://stackoverflow.com/questions/49260

  •  09-06-2019
  •  | 
  •  

Вопрос

Я работаю над приложением winforms, используя LINQ to SQL, и создаю приложение, используя экземпляр SQL Express на моей рабочей станции.Окончательная установка проекта будет произведена на надлежащем SQL Server 2005.

База данных имеет одно и то же имя, и все таблицы идентичны, но имя хоста отличается.

Единственный способ, который я нашел, чтобы заставить мое приложение работать с одной машины на другую, - это повторно открыть код в Visual Studio, удалить все объекты, ссылающиеся на экземпляр SQL express из my .mdbl, сохранить проект, подключиться к другому серверу, снова включить все ссылки и перестроить приложение для выпуска еще раз.

в ответе здесь предлагается, что можно просто изменить файл app.config / web.config, который будет работать для asp.net, но это приложение winforms.Каков правильный способ заставить приложения LINQ to SQL использовать новую базу данных без необходимости повторного открытия приложения в Visual Studio?

Это было полезно?

Решение

Если я правильно понимаю вашу проблему, вы просто меняете строку подключения к базе данных в вашем app.config / web.config.

Редактировать, опубликовать разъяснение:У вас где-то хранятся строки подключения.Они могут быть в app.config вашего сервера.Тем не менее, вы получаете их откуда-то, и это где-то может быть в app.config.Используйте это тогда :)

Другие советы

Одним из хороших решений является добавление другого подключения к самому файлу dbml.Вы можете перейти к этому, щелкнув правой кнопкой мыши по полю конструкторской поверхности и выбрав пункт Свойства.Оттуда вы можете добавить еще одну строку подключения.Вместо того чтобы удалять все и перерисовывать, просто измените строку и перекомпилируйте.

Но если вы хотите добиться фантастичности, вы можете заставить программу автоматически определять, выполняется ли она локально или нет, используя эту удобную служебную функцию: обнаруживать локальные

И перейдите оттуда, чтобы установить соответствующую строку подключения на основе результатов.

Более полезный ответ...

app.config заканчивается как appname.exe.config, когда он был собран.

вместо того чтобы открывать Visual Studio и изменять app.config, вы можете просто отредактировать файл appname.exe.config и перезапустить приложение.

Я полагаю, что вы можете сохранить информацию о подключении в файле app.config и извлечь ее оттуда. Здесь это пост о том, как сделать это с помощью LINQ to SQL.Как только вы развернете его на рабочем сервере, вы можете просто отредактировать XML, чтобы изменить источник данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top