2008-09-08 3 views
1

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

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

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

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

ответ

1

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

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

0

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

1

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

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

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

1

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

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

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

Смежные вопросы