La distribuzione di un progetto di utilizzo di LINQ to SQL
-
09-06-2019 - |
Domanda
Sto lavorando su un'applicazione winforms utilizzando LINQ to SQL e sto costruendo l'applicazione utilizza un'istanza di SQL Express sulla mia postazione di lavoro.L'installazione finale del progetto sarà su un SQL Server 2005.
Il database è con lo stesso nome, e tutti i tavoli sono identici, ma il nome è diverso.
L'unico modo che ho trovato per il mio app di lavoro da una macchina all'altra è quella di riaprire il codice in Visual Studio, è necessario eliminare tutti gli oggetti di riferimento per l'istanza di SQL express dal mio .mdbl, salvare il progetto, la connessione con un altro server, trascinare tutti i riferimenti e ricostruire la domanda per il rilascio una volta di più.
una risposta qui suggerito che si può semplicemente modificare l'applicazione.config/web.file di configurazione che vuol sarebbe al lavoro per asp.net ma questa è un'applicazione winforms.Quale è il modo corretto di fare LINQ to SQL apps utilizzo di un nuovo database, senza dover aprire l'applicazione in visual studio?
Soluzione
Se ho capito bene il tuo problema in modo corretto, è sufficiente modificare il database stringa di connessione nella tua app.config / web.config.
Modifica, post chiarimento:Hai la connessione stringhe memorizzate da qualche parte.Essi potrebbero essere in app.config del server.Ancora, si arriva li da qualche parte e che da qualche parte si può essere in un app.config.L'uso che poi :)
Altri suggerimenti
Una buona soluzione è quella di aggiungere un altro collegamento per il file dbml stesso.Si può arrivare a questo facendo clic destro sul campo della progettazione e selezionando proprietà.Da lì, è possibile aggiungere un'altra stringa di connessione.Invece di cancellare tutto e redragging, basta cambiare la stringa e ricompilare.
Ma se si desidera ottenere fantasia-schmancy, si può avere il programma auto-rilevare se si è in esecuzione in locale, usando questa sua funzione di utilità: rilevare locale
E passare da lì per impostare la stringa di connessione corretta in base ai risultati.
È più utile una risposta...
app.config finisce come appname.exe.config quando è stato costruito.
anziché aprire Visual Studio e la modifica di app.config, si può semplicemente modificare il appname.exe.file di configurazione e riavviare l'app.
Io credo che si possa memorizzare le informazioni di connessione in un app.file di configurazione e recuperare da lì. Qui è un post su che fare con LINQ to SQL.Una volta che si distribuisce su un server di produzione, si può semplicemente modificare il file XML per modificare l'origine dati.