EF Core 迁移数据库,以及对数据库升级的思考

84 篇文章 0 订阅

这两天一直在学习ABP VNext框架,整到数据库那一块了。发现问了问组里大佬,要使用EFCore迁移数据库。我寻思这和我自己以前搞得不太一样,以前是要写SQL或者直接GUI建表,现在怎么命令行敲一下就自动生成了,写个博客记录一下。

EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代码,开发者只需要编写对象即可。

1.获取EF Core

  通过NuGet获取要使用的数据库支持。比如:Microsoft SQL Sever

  打开NuGet程序包管理器控制台,输入:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

2. 在ABP下建立实体,不赘述,看ABP教程。

3.打开NuGet程序包管理控制台

先输入

 Add-Migration xxxxxxxxx

xxxxxxxxx是自己规定的版本号,一般用日期,例如 220315

再输入

Update-Database

迁移成功后,会创建数据库,以及会在项目中生成一个Migrations文件夹,里面时迁移记录。

里面有一个类,包含两个函数 Up 和 Down,Down用于回滚。

更新一波:

 这边报错原因是:默认项目选错了

应该写到.Dbmigrations文件下

2022/6/9

关于一些定义的记录:

1.Code first 根据代码来生成相对应的数据库

2.Database first 根据数据库来生成对应的代码

2022/7/6

关于数据库回滚rollback

网上资料写的是 update-database -targetmigration xxxx,报错

找不到与参数名称“TargetMigration”匹配的参数。

1

update-database -migration xxxx

可以确认。 核心2.0使用-migration。 -target已不再适用

对数据库升级的思考:

场景:某张表删除了某个字段,但是现场还是存在这个字段的,同事的建议是不要删,宁愿冗余。保证数据不被丢失。以防以后需要追查历史数据。

2023/8/30

we have 3 steps

1. define the entity and extends Entiry<guid>

2. and then switch to DbContext.cs to define a DbSet

3. the configuration 

4.  builder.ApplyConfiguration(new yourOwnFuckingConfiguration())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董厂长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值