>基本上我们正在对旧网站进行改造,因此我们设置了一个具有适当关系模式的新应用程序/数据库,但我们需要从旧系统引入数据(无效的引用完整性/没有 fk/有时没有 pk(,因为我们每个人都在处理一个模块。
首先考虑使用 EF 代码,因为我们中的一些人将在系统上工作。
最好编写 SQL 脚本来引入所有这些表以适应新架构,还是在 Code First 中有一个好方法可以做到这一点? 喜欢播种?
或者这种情况是否适合采用数据库优先方法,即我们仅使用 SSMS 中的生成脚本功能引入数据?
想听听是否有人做过类似的工作。提前谢谢。
从旧架构到新架构的一次性迁移通常使用 SQL 脚本完成,而不是使用 EF。 无论哪种方式,都必须编写转换逻辑,并且使用 EF 还必须为旧架构创建 DbContext 模型,并且 EF 在执行批量操作时速度较慢。
我有一个类似的任务要做:我必须创建一个全新的 Web 应用程序(应用程序 B(,其中包含基于旧数据库(应用程序 A 和 Db A(的新数据库 (Db B(。在 Db A 中,关系和一般结构非常混乱,所以我决定最好使用代码优先的方法生成 Db B,然后我创建了另一个简单的应用程序来执行所有迁移工作。我有来自 Db A 和 Db B 的 2 个上下文,所有的迁移逻辑都在那里。它就像一个魅力。
至于播种。如果我可以在应用程序 B 中使用数据库播种机来做到这一点会更好,但有大量数据,因此实际上不可能做到这一点。