我目前正在做的这个项目,已经从EF迁移变成了fluent migrator。fluent migrator对ef迁移有什么好处?它真的值得在EF迁移上使用吗?
发布于 2020-08-05 10:11:21
EF迁移本质上是代码--首先是--您首先编写模型,运行ef命令生成自动迁移,然后更新数据库。无论多么复杂,自动迁移总是有问题的。首先,像列重命名、删除未使用的列都是有问题的。此外,如果您使用的是F#记录类型或C# POCO对象,那么要方便迁移,通常必须用迁移特定属性来修饰普通DB实体,这是不可取的。
其次,EF迁移并不是一个简单的包-作为一个独立的控制台应用程序。将迁移打包到单独的可执行应用程序总是更好的主意,因为应用程序的使用者不会担心了解特定的命令,比如实体框架迁移命令。像FluentMigrator和DbUp这样的包使打包成可执行文件变得非常容易。但是,这取决于应用程序的需求。例如,如果您正在构建现成的应用程序,比如开放源代码Wordpress样式的博客引擎,如果您的受众对.net内核不太熟悉,那么迁移作为专用实用程序是有帮助的。
您可能希望选择以编程方式运行
ef migrations,但这同样是一种反模式,就像在容器世界中一样,多个容器可能会产生争用条件并需要特别的注意,因此,为此总是最好有单独的控制台项目。
https://stackoverflow.com/questions/49023174
复制相似问题