16

我目前有几个使用 FluentMigrator 的数据库,我很想知道 Entity Framework Migrations 的比较。

EF Migrations 是否可以在迁移中播种数据并根据 FluentMigrator 等环境有选择地运行迁移脚本可以使用标签和配置文件?

我已经在使用 EF Database First 作为我的应用程序的 ORM,并且我想我在某处读到过,非 Code First EF 现在也支持 EF 迁移,但是我的团队一直在考虑重构为 Code First 方法,因为数据库优先方法的一些限制。那么,在使用代码优先方法时,EF 迁移是否比使用另一个第三方迁移框架更有意义?

4

2 回答 2

2

Entity Framework 自动生成迁移文件并支持 LINQ-to-SQL。相比之下,FluentMigrations 仅编写迁移脚本,不会自动生成迁移文件。FluentMigrations 是在 Entity Framework Code-First 之前几年开发的。

于 2020-09-02T00:39:03.637 回答
1

我对 FluentMigrator 没有任何经验,但在简要浏览文档后,您似乎必须手动创建迁移?

每次您的模型更改并运行应用程序时,EF 都会提示迁移。这使它有点容易,但同时也很烦人。启用迁移后,对模型进行的任何涉及数据库更改的更改都需要迁移。您可以修改迁移,它是自动生成的。只需观看“向下”版本...我遇到了问题。

代码优先是非常无缝的。甚至可以处理更复杂的对象模型,例如子类。您甚至可以指定如何生成表(每种类型的表、基表和每种类型的表,或者单个表和类型键)。

综上所述,如果你总是要生成 c# 代码来更新你的数据库,我会选择 EF 的内置迁移。他们为您完成大部分工作。

于 2014-05-06T16:26:06.843 回答