欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

使用EF CORE迁移数据库

时间:2022-10-01 13:35:48|栏目:.NET代码|点击:

一、迁移需要的依赖

Install-Package Microsoft.EntityFrameworkCore.SqlServer -version 3.1.1
Install-Package Microsoft.EntityFrameworkCore.Tools -version 3.1.1
Install-Package Microsoft.EntityFrameworkCore.Design -version 3.1.1

二、迁移方式

  • 程序包管理器控制台 , Package Manager Console(PMC)

? 如果你用visual studio 开发建议使用PMC迁移方式,该方式是同时支持efcore和原先的ef 迁移的

  • 命令行工具 ,Command line interface (CLI)

? 该方式适用于跨平台开发的时候进行迁移数据库的,也就是可脱离visual studio,比如你用vs code,或直接打开cmd控制台进行操作

  • 命令对比
迁移命令描述 CLI命令 PMC命令
创建迁移:migrationname为迁移名称 dotnet ef migrations add migrationName add-migration migrationName
移除迁移(删除最近的一次迁移) dotnet ef migrations remove remove-migration
应用所有的迁移(使迁移文件应用到数据库) dotnet ef database update update-database
指定版本进行迁移 dotnet ef database update migrationName update-database migrationName
生成对应版本的脚本 dotnet ef migrations script Script-Migration
查看迁移列表 dotnet ef migrations list  
查看数据库上下文信息 dotnet ef dbcontext info  

三、使用

程序包管理器控制台 , Package Manager Console(PMC)打开visual studio 程序包管理控制台,首先要善于使用pmc的帮助,输入get-help 查看帮助信息,根据提示我们可以输入 get-help about_entityframework 获取帮助信息,输入命令后我们应该能看到一只霸气的野马头像 ,头像下面就是efcore的相关帮助文档了 ,入下图:

  • add-migration 这个命令一般都不会有啥问题输入命令回车在输入迁移名称就ok

  • remove-migration 这个也是如果想删除最后一次迁移 直接执行就好

  • update-database 第一步添加一个迁移文件成功后,可以用该命令直接更新到数据库,默认是所有迁移,如果想指定迁移直接加上迁移文件的名字就好了,如:update-database migrationName,也相当于版本回滚操,比如有版本1,2,3 此时我想回滚到版本1 就直接 update-database 1,此时数据库中已经更新到1版本了,然后在两次remove-migration把2和3的迁移文件删除就好了

  • Script-Migration 这个命令用于生成迁移文件对应的sql语句的,跟之前的ef貌似有些不一样,该命令如果不加任何参数 是默认生成所有迁移文件对应的sql语句,当然也参照格式指定餐宿

  • Script-Migration -From migrationName1 -To migrationName2 -Context ContextName

最后温馨提示 使用 Get-Help 即可获取对应命令文档,如 get-help update-databa

跨平台命令行工具 ,Command line interface (CLI)打开vscode 命令终端 输入dotnet ef 后也能看到一只霸气野马的头像,也将列出相关帮助信息

  • dotnet ef migrations add 生成一条迁移
  • dotnet ef migrations remove 删除最新一次迁移
  • dotnet ef database update 生成迁移到数据库,跟上面pmc命令类似 后面加指定的迁移作为参数可以进行版本的回滚
  • dotnet ef migrations script 也跟pmc类似 如果没有任何参数的话默认是生成所有sql脚本,但是参数格式略有不同如下:dotnet ef migrations script
  • migrationName1 migrationName2 ; 是像这样直接跟迁移名称的也就是生成migrationName1 到migrationName2 的sql脚本

上一篇:ASP.NET My97DatePicker日期控件实现OA日期记事功能

栏    目:.NET代码

下一篇:Entity Framework Core表名映射

本文标题:使用EF CORE迁移数据库

本文地址:http://www.codeinn.net/misctech/215171.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有