技术思绪摘录旅行笔记
在日常开发中,经常用到CodeFirst模式进行开发,那么我们需要了解基本的EFCore的使用和其原理,本次系列包括EFCore的迁移、关系描述,主要是以我个人经验向大家讲解,希望学习EFCore的同学们,能一看就知道关系描述应该怎么配置。

CodeFirst需要将实体转换为数据库,那么EF提供了迁移功能
演示项目比较粗暴,直接以.NET6 的ConsoleAPP进行演示:
1、安装核心依赖项

Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package pomelo.entityframeworkcore.mysql

2、安装之后,我们打开“程序包管理器控制台”

ScreenShot00001.png

3、因为安装了Microsoft.EntityFrameworkCore.Tools这个引用,我们直接将EfCode等所有需要的包实际上都引入了,迁移命令也是由他完成。
执行迁移命令,必须将引用了Microsoft.EntityFrameworkCore.Tools工具的项目设置为默认项目,并将同解决方案文件夹下面的启动项目设置好。

ScreenShot00004.png

4、我不知道迁移有哪些命令怎么办?

get-help entityframework

ScreenShot00002.png

看到没,会告诉你所有的命令有哪些,独角兽图标也能看到

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属性对应的实体变更,全部记录下来,无论是删除了字段还是调整了字段。

ScreenShot00003.png

6、Update-Database命令,执行迁移记录,将迁移记录应用到数据库。
这句命令,会帮你创建库,如果存在数据库,则更新数据库。

ScreenShot00005.png

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 [开始记录名称] [结束记录名称]   //生成这两个记录之间的所有脚本


CarsonIT 微信扫码关注公众号 策略、创意、技术

留下您的脚步

 

最近评论

查看更多>>

站点统计

总文章数:275 总分类数:18 总评论数:88 总浏览数:143.89万

精选推荐

阅读排行

友情打赏

请打开您的微信,扫一扫