是否有可能从EF5数据库优先转换为代码优先?

时间:2013-04-17 01:00:54

标签: visual-studio-2012 ef-code-first entity-framework-5 ef-database-first

我即将开始一个新项目,虽然我团队的大多数经验是直接在数据库上使用VS数据库项目和SSMS,但我们希望使用EF。但是,时间限制不允许我们在实施之前花时间充分学习EF。

乍一看,EF Code-first中的代码优先迁移看起来像是一个非常有价值的工具,但首先是以代码为中心的数据库(它们似乎没有一个好名字)代码迁移似乎不是一个功能。相反,只有以代码优先开始的项目似乎支持这一点。

是否可以从数据库开始,然后(在开发期间的某个时刻),以某种方式转换为代码优先,以便利用代码优先迁移?

1 个答案:

答案 0 :(得分:1)

您可以尝试EF Power Tools(不是'回答',而是要尝试并考虑到的事情)。

它有Reverse Engineer Code First ,应该为您创建POCO-s等。

然而,它是一个实验性工具(在测试版中),并且设置了一些问题 - 但您可以尝试一下。

除此之外 - 它可能很棘手,所以你最好早点开始 -
但IMO并没有任何你无法实际手动转移 - 在任何时候 - 提供你的数据库并没有使用太多的“复杂功能”并依赖于某些高级方案。

  

请记住CF施加的一些限制(例如   在复杂场景中不得不求助于“种子”和手动SQL,   没有对UDF,存储过程的本机支持 - 但您仍然可以手动指定它...) - 这样就可以避免   将你的Db设计基于这些东西 - 而不是工作的东西'   代码第一种方式' - 并可能在其中添加几个额外的手动修复   需要的。

看一下这篇文章(链接):
Entity Framework - Reverse Engineer Code First - Overwriting Changes

http://romiller.com/2012/05/09/customizing-reverse-engineer-code-first-in-the-ef-power-tools/