【问题标题】:Deploying a project using LINQ to SQL使用 LINQ to SQL 部署项目
【发布时间】:2008-09-08 07:15:17
【问题描述】:

我正在使用 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 中重新打开应用程序的正确方法是什么?

【问题讨论】:

    标签: linq-to-sql deployment


    【解决方案1】:

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

    编辑,后澄清:您将连接字符串存储在某处。它们可能在您服务器的 app.config 中。尽管如此,你还是从某个地方得到它们,而那个地方可能在 app.config 中。然后使用它:)

    【讨论】:

      【解决方案2】:

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

      但如果你想获得花哨的功能,你可以让程序自动检测它是否在本地运行,使用这个简洁的实用功能:detect local

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

      【讨论】:

        【解决方案3】:

        一个更有用的答案...

        app.config 在构建后会以 appname.exe.config 的形式结束。

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

        【讨论】:

          【解决方案4】:

          我相信您可以将连接信息存储在 app.config 文件中并从中检索。 Here 是一篇关于使用 LINQ to SQL 执行此操作的帖子。将其部署到生产服务器后,您只需编辑 XML 即可更改数据源。

          【讨论】:

            猜你喜欢
            • 2023-04-02
            • 1970-01-01
            • 1970-01-01
            • 2010-11-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-20
            相关资源
            最近更新 更多