EF 5同步模型到数据库项目

4

目前我们正在使用EF 4.1,采用模型优先方法,然后使用实体设计器数据库生成Power Pack将模型同步到Visual Studio 2010数据库项目。从那里,我们使用数据库项目的部署功能来升级实际数据库。这很好用。我必须编写一个小的清理脚本来清除数据库项目中多余的注释,但这已经解决了。

问题在于SQL Server 2012。我进行了一项测试,安装了Sql Server 2012,但我们的VS 2010数据库项目不想部署到它上面。它说Sql Server 2012不是受支持的目标版本。好吧,这意味着我需要安装SSDT并将项目转换为Sql数据库项目。问题在于,没有工具将实体模型与SSDT项目同步。实体设计器数据库生成Power Pack仅适用于VS 2010数据库项目而不是SSDT数据库项目。

这阻止了我们升级到SQL Server 2012和SSDT项目。

我真的很喜欢数据库项目,因为它们允许我们对数据库架构进行源代码控制。我们可以添加额外的内容,例如报告存储过程等。

我已经看过Code First Migrations,但似乎比SSDT项目功能少。而且我不确定你是否可以将该迁移与Model First实现的edmx设计器一起使用。

那么我们该怎么办呢?

Eric

1个回答

2

实际上,从edmx同步到SSDT数据库项目是不可能的。您考虑过从edmx构建数据库,并使用SSDT的模式比较工具将其与数据库项目同步吗?

与您之前的流程唯一的区别是建立这个中介数据库。


你说得对。我修改了数据库生成模板,创建了一个脚本来删除和创建本地数据库,这是EDM模型的完美表示。然后,我将新数据库与数据库项目进行比较,并接受目标数据库项目的更改。这比VS 2010数据库项目同步功能更好,因为我不必管理注释,而且比较函数的一部分允许我删除在EDM中已删除的表格。以前我不得不手动从项目中删除它们。感谢您的建议。 - Eric Weiss
很高兴能帮到你。我找到了一篇类似用例的博客文章:http://peterkellner.net/2012/07/29/using-redgates-sql-compare-for-complex-migrations-with-efs-codefirst/ - David Atkinson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接