【问题标题】:Is it possible to transition from EF5 database-first to code-first?是否可以从 EF5 数据库优先转换为代码优先?
【发布时间】:2013-04-17 01:00:53
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    您可以尝试EF Power Tools(不是“答案”,而是要尝试并牢记的东西)。

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

    不过,它是一个实验性工具(Beta 版),设置时存在一些问题 - 但您可以试一试。

    除此之外 - 这可能很棘手,所以最好“早点”开始 -
    但 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/

    【讨论】:

    • 许多来自 EF Power Tools 的工具将作为 EF6 的一部分包含在内,我相信其中包括逆向工程师功能。
    猜你喜欢
    • 2014-10-04
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多