将基于 Entity Framework 5.0 的项目从代码优先迁移到数据库优先时。我们将使用标准的 VS2012 向导从数据库中生成 edmx 模型,但除此之外我们还有其他步骤吗?我想我必须删除我定义了代码优先模型甚至迁移文件夹的所有类 - 除了这两个之外还有其他清理操作吗?
[编辑]: 报告回来。
所以实际体验在我最初的期望和 Ladislav 提到的之间(就像他说的,确切的条件取决于代码)。对我来说,整个手术大约需要 15-20 分钟,主要涉及
- 分支创建(安全,以防万一发生爆炸!)
- 删除代码优先类和源代码(我将它们移到 VS2012 之外以获得差异参考)
- 从数据库创建 EDMX 模型(将相同的命名空间等传递给向导以减少差异程度)
- 快速检查代码优先类和自动生成的数据库优先类。这主要是 1:1,因为我们一开始就在代码优先模型中使用了合理的名称。
- 一个一个地编译和修复每个错误
- 注意到许多错误是由于 EF 5 的自动复数与我自己对不同字段的复数造成的。通过快速区分大小写的搜索修复了 40 多个错误 -> 全部替换
- 编译后重新运行所有测试
- 重新合并功能分支!
谢谢