LINQ到SQL类和暂存与生产

LINQ到SQL类和暂存与生产,sql,linq,asp.net-mvc-4,Sql,Linq,Asp.net Mvc 4,这是一个与LINQtoSQL类相关的最佳实践问题,它有两个SQL服务器—生产和开发 我们有一个MVC4项目,我们发布在Azure云上。我们有两个自动切换的连接字符串。一个用于生产实例,另一个用于在本地主机上运行时,我们在本地主机上更改数据库的结构并测试它们。通过使用System.Web.HttpContext.Current.Request.IsLocal,这一部分非常有用 我们有使用LINQ到SQL类的DB上下文,但是现在,我们还不能弄清楚如何自动切换DBML连接字符串。或者可能有两个DBML

这是一个与LINQtoSQL类相关的最佳实践问题,它有两个SQL服务器—生产和开发

我们有一个MVC4项目,我们发布在Azure云上。我们有两个自动切换的连接字符串。一个用于生产实例,另一个用于在本地主机上运行时,我们在本地主机上更改数据库的结构并测试它们。通过使用
System.Web.HttpContext.Current.Request.IsLocal,这一部分非常有用

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

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


这是最简单的方法吗?

不,您应该考虑使用与

更为简单的是,考虑LIQ2SQL,考虑使用,这允许您在代码中自动升级数据库,这样就不必手动更新部署服务器上的架构。


有了这3项技术,您应该能够在完成所有设置后将部署的痛苦减少到2或3次单击(这本身可能非常痛苦)。

我不确定是否正确。我们使用VS 2012中构建的Azure部署。与我对WebDeploy的了解相比,这很容易。好吧,我对Azure部署了解不多,但我怀疑你已经参与其中了。假设您正在使用“发布”对话框进行部署,您应该查看“数据库”选项卡,该选项卡为您提供了使用不同连接字符串创建发布配置文件的选项。