使用LINQ to SQL部署项目

时间:2020-03-05 18:49:12  来源:igfitidea点击:

我正在使用LINQ to SQL开发winforms应用程序,并在工作站上使用SQL Express实例构建应用程序。该项目的最终安装将在适当的SQL Server 2005上进行。

数据库具有相同的名称,所有表均相同,但主机名不同。

我发现使我的应用程序从一台机器运行到另一台机器的唯一方法是重新打开Visual Studio中的代码,从我的.mdbl中删除所有引用SQL Express实例的对象,保存项目,然后连接到在另一台服务器上,重新拖动所有引用,然后重新构建应用程序以供再次发布。

这里有一个答案,建议我们只需修改app.config / web.config文件即可使用asp.net,但这是一个winforms应用程序。使LINQ to SQL应用程序使用新数据库而不必在Visual Studio中重新打开该应用程序的正确方法是什么?

解决方案

回答

如果我正确理解了问题,则只需在app.config / web.config中更改数据库的连接字符串。

编辑,进行澄清:我们将连接字符串存储在某个位置。它们可能在服务器的app.config中。尽管如此,我们还是从某个地方获得它们,而某个地方可能位于app.config中。然后使用它:)

回答

我相信我们可以将连接信息存储在app.config文件中并从那里检索它。这是有关使用LINQ to SQL做到这一点的文章。将其部署到生产服务器后,我们只需编辑XML即可更改数据源。

回答

一个好的解决方案是向dbml文件本身添加另一个连接。我们可以通过右键单击设计图面的字段并选择属性来实现。从那里,我们可以添加另一个连接字符串。无需删除所有内容并重新拖动它们,只需更改字符串并重新编译即可。

但是,如果我们想花哨的时间,可以使用以下实用工具功能使程序自动检测它是否在本地运行:

然后从那里根据结果设置适当的连接字符串。

回答

一个更有用的答案...

构建app.config时,其最终名称为appname.exe.config。

无需打开Visual Studio并修改app.config,我们只需编辑appname.exe.config文件,然后重新启动应用程序即可。