Fluent Migrator相比EF迁移的优势是什么?

7

我目前正在工作的项目中,从EF迁移改为了Fluent Migrator。相比于EF迁移,Fluent Migrator有哪些优势?使用Fluent Migrator是否真的值得超过EF迁移?


可能是为什么要使用FluentMigrator?的重复问题。 - Martin D.
1个回答

5

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

其次,EF迁移不容易打包为独立的控制台应用程序。将迁移打包到单独的可执行文件中总是更好的选择,因为应用程序的使用者不需要担心知道特定的命令,例如实体框架迁移命令。像FluentMigratorDbUp这样的软件包使打包变得非常容易。但是,它取决于应用程序的需求。例如,如果您正在构建开源WordPress样式的博客引擎等现成应用程序,并且您的受众不熟悉.net core,则将迁移作为专用实用程序会很有帮助。

您可能希望选择以编程方式运行ef迁移,但这仍然是反模式,因为在容器世界中,多个容器可能会产生竞争条件,并需要特殊关注,因此最好为此设置单独的控制台项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接