【问题标题】:Entity Framework 4.0 'Code First' approachEntity Framework 4.0“代码优先”方法
【发布时间】:2010-11-01 01:19:51
【问题描述】:

我一直在使用 Entity Framework 来改进它。到目前为止,我很喜欢我所看到的,但现在有一个问题。通过这种新的“代码优先”方法(来自 CTP 4 下载),我们现在可以通过代码优先方法使用 EF,但我正在尝试找出是否可以通过这种方法使用现有的 EDMX 文件。

我有一个正在处理的项目,它有一个 EDMX 文件,我注意到模型构建器有一个 RegisterEdmx 方法,但我没有找到很多关于这是否允许在我的代码优先方法中使用现有 EDMX 文件的信息.

另外,我知道有了这个新的 CTP,像 RecreateDatabaseIfModelChanges 这样的东西是可用的,但是这些选项会删除数据库并重新创建它,如果您更改模型,这会不会导致您的所有数据丢失?我这里有什么遗漏吗?

【问题讨论】:

    标签: frameworks entity


    【解决方案1】:

    我无法使用以前生成的 EDMX 文件,但支持使用 Code First with existing databases。至于自动重新创建,是的,这将杀死您的所有数据。这仅适用于数据持久性无关紧要的快速开发(事实上,当您发现业务逻辑问题并希望从头开始更新时,这可能是不需要的。)

    这只是作为一种快速开发方式。截至(当Scott Guthrie blogged 关于 CTP - 跳转到第 5 部分时)没有可用的数据迁移功能。您的选择是手动更新数据库以匹配您的模型,删除数据库并让它重新创建或设置自动重新创建选项。只有第一个选项不会破坏您的数据。

    【讨论】:

    • 感谢您的反馈,我最终采用了模型优先的方法。当他们实现更多迁移选项时,我会看看代码优先方法,但它绝对看起来像是对 EF 的一个很好的补充
    猜你喜欢
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 2013-03-26
    • 2012-08-22
    • 2014-08-12
    • 2016-04-14
    • 2021-05-04
    • 2020-04-29
    相关资源
    最近更新 更多