Pregunta

Estoy trabajando en una aplicación de winforms usando LINQ to SQL - y soy la construcción de la aplicación a través de una instancia de SQL Express en mi estación de trabajo.La instalación final del proyecto será en un adecuado SQL Server 2005.

La base de datos tiene el mismo nombre, y todas las tablas son idénticas, pero el nombre es diferente.

La única manera que he encontrado para hacer mi app de trabajo de una máquina a la siguiente es volver a abrir el código en Visual Studio, eliminar todos los objetos que hacen referencia a la instancia de SQL express de mi .mdbl, guardar el proyecto, conectarse a otro servidor, arrastre todas las referencias de nuevo, y volver a generar la aplicación para liberar una vez más.

aquí una respuesta sugiere que uno puede simplemente modificar la aplicación.config/web.archivo de configuración - cuyo trabajo para asp.net pero esta es una aplicación de winforms.¿Cuál es la forma correcta de hacer de LINQ to SQL en aplicaciones hacer uso de una nueva base de datos sin tener que volver a abrir la aplicación en visual studio?

¿Fue útil?

Solución

Si entiendo tu problema correctamente, simplemente se cambia la base de datos de la cadena de conexión en la aplicación.config / web.config.

Editar, post aclaración:Usted tiene la conexión de las cadenas almacenadas en algún lugar.Puede que sea posible en la aplicación.de configuración de su servidor.Aún así, consigue de alguna parte y que en algún lugar puede ser en una aplicación.config.El uso que haga :)

Otros consejos

Una buena solución es añadir otra conexión para el archivo dbml sí mismo.Se puede llegar a esto haciendo clic derecho en el campo de la superficie de diseño y seleccionando propiedades.Desde allí, se puede añadir otra cadena de conexión.En lugar de borrar todo y redragging, acaba de cambiar la cadena y volver a compilar.

Pero si usted desea conseguir la suposición-schmancy, usted puede tener el programa de auto-detectar si se ejecuta de forma local o no, el uso de este cuidada función de utilidad: detectar local

Y partir de ahí para establecer la cadena de conexión adecuada con base en los resultados.

Es más útil la respuesta...

app.config termina como appname.exe.config cuando se ha construido.

en lugar de abrir el Visual Studio y modificar la aplicación.configuración, puedes editar el nombre de aplicación.exe.archivo de configuración y reinicie la aplicación.

Yo creo que se puede almacenar la información de conexión en un app.archivo de configuración y recuperar a partir de allí. Aquí es un post acerca de hacer que con LINQ to SQL.Una vez que se instala en un servidor de producción, sólo se puede editar el XML para cambiar el origen de datos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top