CodeFirst需要将实体转换为数据库,那么EF提供了迁移功能
演示项目比较粗暴,直接以.NET6 的ConsoleAPP进行演示:
1、安装核心依赖项
Install-Package Microsoft.EntityFrameworkCore.Tools Install-Package pomelo.entityframeworkcore.mysql
2、安装之后,我们打开“程序包管理器控制台”
3、因为安装了Microsoft.EntityFrameworkCore.Tools这个引用,我们直接将EfCode等所有需要的包实际上都引入了,迁移命令也是由他完成。
执行迁移命令,必须将引用了Microsoft.EntityFrameworkCore.Tools工具的项目设置为默认项目,并将同解决方案文件夹下面的启动项目设置好。
4、我不知道迁移有哪些命令怎么办?
get-help entityframework
看到没,会告诉你所有的命令有哪些,独角兽图标也能看到
Add-Migration Bundle-Migration Drop-Database Get-DbContext Get-Migration Optimize-DbContext Remove-Migration Scaffold-DbContext Script-DbContext Script-Migration Update-Database
以上为所有的迁移需要的命令,我只介绍常用的几个和功能。
5、Add-Migration命令,添加一条迁移记录
Add-Migration [记录名称]
这句命令会把你的DbSet属性对应的实体变更,全部记录下来,无论是删除了字段还是调整了字段。
6、Update-Database命令,执行迁移记录,将迁移记录应用到数据库。
这句命令,会帮你创建库,如果存在数据库,则更新数据库。
Add-Migration [记录名称],那么Update-Database [记录名称] 可以配置我需要应用那一个版本到数据库
Update-Database Init
7、Remove-Migration命令,删除迁移记录
如果你还没有执行Update-Database命令,那么可以删除记录,如果执行了,删除不了
Remove-Migration //删除所有未执行的记录 Remove-Migration -Force //删除上一次的记录
8、Drop-Database命令,删库,一般是打算重新迁移的时候使用。
9、Script-Migration命令,生成迁移脚本
Script-Migration //生成所有的脚本 Script-Migration [记录名称] //生成指定的脚本 Script-Migration [开始记录名称] [结束记录名称] //生成这两个记录之间的所有脚本
留下您的脚步
最近评论