Fluent Migrator优于EF迁移的优势?

时间:2018-02-28 06:23:04

标签: entity-framework fluent-migrator

目前我正在开展的项目,已经从EF迁移变为流畅的迁移者。流动的迁移者对ef迁移有什么好处?是否真的值得使用EF迁移?

1 个答案:

答案 0 :(得分:1)

EF迁移本质上是代码优先的-您首先编写模型,运行ef命令以生成自动迁移,然后更新数据库。无论多么复杂,自动迁移总是有问题的。首先,诸如列重命名,删除未使用的列之类的问题总是有问题的。此外,如果您使用的是F#记录类型或C#POCO对象,则为了便于迁移,通常必须使用不希望有的迁移特定属性来修饰纯DB实体。

第二,EF迁移不能作为独立的控制台应用程序轻松打包。将迁移打包到一个单独的可执行应用程序中总是一个更好的主意,因为应用程序的使用者不必担心知道诸如实体框架迁移命令之类的特定命令。像FluentMigratorDbUp这样的软件包使打包成可执行文件变得非常容易。但是,这取决于应用程序的需求。例如,如果您正在构建开源Wordpress样式博客引擎之类的现成应用程序,并且如果您的读者不熟悉.net core,那么将其作为专用实用程序进行迁移会很有帮助。

您可能希望选择以编程方式运行ef migrations,但这又是一种反模式,就像在容器世界中一样,多个容器可能会产生竞争状态并需要特别注意,因此始终最好为此使用单独的控制台项目