实体框架4.0'代码优先'方法

时间:2010-11-01 01:19:51

标签: frameworks entity

我一直在努力使实体框架变得更好。我喜欢到目前为止我所看到的,但现在有一个问题。使用这种新的“Code First”方法(来自CTP 4下载),我们现在可以使用代码优先方法中的EF,但我试图找出是否可以使用现有的EDMX文件。

我有一个我正在研究的项目,它有一个EDMX文件,我注意到ModelBuilder有一个RegisterEdmx方法但是我没有发现很多关于这是否允许使用现有的EDMX文件和我的代码第一种方法

另外,我知道有了这个新的CTP,比如RecreateDatabaseIfModelChanges是可用的,但是这些选项会丢弃数据库并重新创建它,如果您更换模型,这会导致所有数据丢失吗?这里有什么我想念的吗?

1 个答案:

答案 0 :(得分:3)

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

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