创建SQL Server 2008数据库后,我在Visual Studio中创建了一个Linq-to-SQL模式。接下来,在.dbml
可视化编辑器(在Visual Studio 2010中)中,我将PK-to-FK和PK-to-PK关联添加到模式中。
如何将我在Visual Studio中创建的关联复制到数据库?换句话说,我如何同步与数据库?
答案 0 :(得分:3)
Linq-to-SQL是一个很棒的工具,但从不依赖它来更新架构。始终通过升级SQL脚本应用架构更改,这些脚本使用DDL CREATE / ALTER / DROP语句从on-disk version to the current version更改已部署的架构。这样,您可以将版本控制下的所有架构更改保留为源文本文件,您可以从任何过去的版本升级到当前的应用程序版本,并且可以轻松地测试所有升级路径,包括使用非常大的表升级部署。
更糟糕的选择是使用SQL比较工具,这些工具可以从您部署的架构中区分所需的架构,例如vsdbcmd。这可能适用于琐碎的部署,但复制和重命名数百万条记录的表将很快显示出它的丑陋不利。
您绝对不能做的是将.dbml文件作为架构的“主”副本。这是Linq-to-SQL倡导者通常忽略的一个小细节,当您尝试交付应用程序的v2并意识到您没有升级工具集时,通常会发现这一点。