我即将开始一个新项目,虽然我团队的大多数经验是直接在数据库上使用VS数据库项目和SSMS,但我们希望使用EF。但是,时间限制不允许我们在实施之前花时间充分学习EF。
乍一看,EF Code-first中的代码优先迁移看起来像是一个非常有价值的工具,但首先是以代码为中心的数据库(它们似乎没有一个好名字)代码迁移似乎不是一个功能。相反,只有以代码优先开始的项目似乎支持这一点。
是否可以从数据库开始,然后(在开发期间的某个时刻),以某种方式转换为代码优先,以便利用代码优先迁移?
答案 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/