实体框架4.0 - 生成更改脚本

时间:2010-11-11 09:41:48

标签: .net sql visual-studio-2010 entity-framework-4

我使用EF 4.0(MS SQL 2008)构建我的应用程序,模型越来越大。

我的问题是当我向模型中添加新的表/约束等时,我现在会生成一个脚本来创建我的SQL数据库,但它会丢弃所有表,所以我丢失了所有数据。 : - (

有谁知道如何生成更改脚本,所以我可以保存数据并只更新数据库?

提前致谢。

索伦

3 个答案:

答案 0 :(得分:2)

如果现有现有数据库和新数据库实例,可以尝试Redgate SQL Compare来构建更改脚本。我可以推荐这个,因为我正在测试它以将其构建到我们的变更管理部署过程中(尚未拥有该产品,但正在评估)

编辑 - 我最初使用sql源代码控制,但实际上是指SQL比较。固定的。

答案 1 :(得分:0)

我这样做是为了“开发”成2个sql数据库。

第一个是EF,我在那里做那些破坏变化等(Project_SchemaDB)。

第二个是我可以进行一些数据测试的地方(Project_DataDB)。

VS2010附带了一个非常好的数据库项目,允许您编写数据库之间的更改(增量),然后应用它们。

所以......程序就是这样。

更改EF与Project_SchemaDB的连接并进行更改,自动生成sql。

现在在vs2010中打开数据库项目,在Project_SchemaDB和&之间进行模式比较。 Project_DataDB如果您满意,请应用更改。

运行应用程序时,请确保您的连接是Project_DataDB。

当然,您可以采取更多措施来解决这个问题,但它非常强大,当您与团队合作以及稍后在轨道上进行部署时,您会获得脚本的版本更改。

答案 2 :(得分:0)

我建议您使用Database Generation Power Pack来生成自动更改脚本。您只需安装此软件包,点击“从模型生成数据库”。