0

这是一个与 LINQ to SQL 类相关的最佳实践问题,并且有两个 SQL 服务器 - 生产和开发。

我们有一个 MVC 4 项目,我们在 Azure Cloud 上发布。我们有两个自动切换的连接字符串。一种用于生产实例,另一种用于在 localhost 上运行,我们在其中更改数据库的结构并对其进行测试。这部分通过使用效果很好System.Web.HttpContext.Current.Request.IsLocal

我们有使用 LINQ to SQL 类的 DB 上下文,但目前,我们还无法弄清楚如何自动切换 DBML 连接字符串。或者可能有两个 DBML——一个用于生产数据库,一个用于测试。

例如,我们在表中添加一个字段,刷新我们连接到测试数据库的 DBML 文件,并对其进行试验。当我们需要发布项目时,我们需要先在生产服务器上更改 SQL 结构,手动更改 DBML 的连接字符串,然后发布。

这是最简单的方法吗?

4

1 回答 1

1

不,您应该考虑在 web.config 上使用webdeployxdt 转换

为了更方便,可以考虑使用带有迁移的 linq2entities/entity 框架而不是 linq2sql ,它允许您在代码中自动升级数据库,因此您不必手动更新部署服务器上的模式。

使用这 3 种技术,您应该能够将部署的痛苦减少到 2 或 3 次点击,一旦您完成所有设置(这本身可能非常痛苦)。

于 2013-01-10T16:20:13.143 回答