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

2023-11-09

这两天一直在学习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())

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 纯HTML+CSS网页设计——林允儿(可做网页课程作业)

    作品介绍 网页为作者一次课程作业 效果个人觉得还行 其中抛弃了导航栏的使用 主要每次都导航栏 写烦了 采用的是图谱的形式 主要也是因为最近在学 页面主要有6个 有三个是较重复的 所以主要页面是四个 具体的直接看图吧 作品展示 首页 首页背景
  • Python全面解读2018电影票房市场

    作者 法纳斯特 来源 法纳斯得 双11已经过去 双12即将来临 离2018年的结束也就2个月不到 还记得年初立下的flag吗 完成了多少 相信很多人和我一样 抱头痛哭 本次利用猫眼电影 实现对2018年的电影大数据进行分析 01 网页分析
  • FeatureToggle

    概述 为了控制功能开启与关闭 减少代码中的if else繁琐的逻辑判断 主要通过spring的aop及java的注解实现 目前主要包含6个部分的代码 支持内存存储和部分策略 源码git 稍后放源码 功能 单个开关的配置 开关组的配置 通过组
  • MongoDB总结

    MongoDB的官方文档基本是how to do的介绍 而关于how it worked却少之又少 本人也刚买了 MongoDB TheDefinitive Guide 的影印版 还没来得及看 本文原作者将其书中一些关于MongoDB内部现
  • 线性代数学习之初等矩阵和矩阵的可逆性

    求解矩阵的逆 接着https www cnblogs com webor2006 p 14280299 html继续往下学习 在上一次中学习了线性系统以及它的求解 在之前https www cnblogs com webor2006 p 1
  • Synchronized和ReentrantLock的区别

    1 Synchronized是一个关键字 ReentrantLock是一个类 2 Synchronized可以用来修饰普通方法 静态方法和代码块 而ReentrantLock只能用于代码块 3 Synchronized会自动加锁与释放锁 R
  • VBA读取其他Excel内容

    VBA读取其他Excel内容 AccessDataBaseEngine安装 Excel内容读取 采用Microsoft于2020 8 11新出的 AccessDataBaseEngine Microsoft Access 2016 数据库引
  • 关于隐式实例化,显示实例化,显示具体化的理解.

    对于模板函数 编译器会通过对这个模板含数的引用生成一个含数的实例 这通常叫隐式实例化 例如下面的函数模板 template lt class T gt void Swap T a T b 而相对于隐式实例化 则可以自己编写显示实例化来说明
  • 怎么查看linux库是使用哪个版本的编译器编译的

    由于对同样的库的源码 有的使用4 1 2编译器编译的 有的是4 1 1等等 结果导致有时候存放的时候忘记了写版本信息 导致要重新编译 解决方法 objdump s section comment your program 查看程序编译器版本
  • i.mx287学习笔记8-buildroot编译mplayer

    上面是我的微信和QQ群 欢迎新朋友的加入 1 开始 嵌入式linux几种播放视频的方法 1 交叉编译mplayer smplayer等软件 移植到嵌入式平台 这种方法在嵌入式平台不能控制窗口位置 不能很好的嵌入到自己程序的窗口中去 但是实现
  • Python列表切片中的None

    None起到的是增加维度的作用 示例如下 import numpy as np z np ones 3 3 3 print z shape 3 3 3 print z None None shape 3 1 1 3 3 print z No
  • java高级用法_java 高级用法整理

    一 retentionpolicy class vs runtime区别 java5 增加了注解的功能 其中retentionpolicy注解的生命周期 提供了三种选择策略 source class和runtime三种选择 source 源
  • mac ping: sendto: Host is down

    mac ping 内网机子提示 host is down Request timeout for icmp seq 0 但是其他小伙伴ping是没问题的 mac和小伙伴的电脑网段 子网掩码 路由器 DNS一致 查询后是因为mac使用了vmw
  • 手机微信连不上wifi服务器怎么回事,微信连不上wifi怎么办?

    大家经常会在家中使用微信进行聊天 那么如果微信连不上wifi了怎么办 方法步骤 1 微信是大家最常用的聊天工具之一了 几乎每天都在使用 大家在家里使用的话经常会连接wifi 但有时候会遇到微信连不上wifi的问题 却又不知道怎么解决 接下来
  • 全角字符unicode码对应表

    Uni GB Uni GB Uni GB Uni GB Uni GB 00A4 A1E8 00A7 A1EC 00A8 A1A7 00B0 A1E3 00B1 A1C0 00B7 A1A4 00D7 A1C1 00E0 A8A4 00E1
  • 对于Transformer 模型----可以从哪些地方进行创新和改进

    Vit 全称 Vision Transformer 是Transformer在CV方向的应用 是NLP与CV的相互联系 相互促进 相互影响 自Transformer应用进计算机视觉领域以来 与其相结合的新模型大都表现出了不错的效果 但是 这
  • 微信小程序:排行榜页面模板

    文章目录 1 前言 2 模板代码 3 结语 1 前言 在开发一款背单词的微信小程序时 为了加强用户的体验感 刺激用户积极学习 小程序中需要有排行榜的模块 通过打卡天数来排名 让用户有攀比学习的心里 具体的页面截图如下 2 模板代码 wxml
  • python-数据分析(6-numpy)

    Numpy 6 Numpy 6 1 Numpy介绍与安装 Numpy是什么 Numpy Numerical Python 是目前Python数值计算中最为重要的基础包 大多数计算包都提供了基于Numpy的科学函数功能 将Numpy的数组对象
  • C#开发系列(四)——文档注释

    C 为程序员提供一种机制 以使用包含 XML 文本的特殊注释语法记录其代码 在源代码文件中 具有特定窗体的注释可用于指示工具从这些注释生成 XML 并将其置于后面 使用此语法的注释称为文档注释 它们必须紧跟在用户定义的类型 如类 委托或接口
  • EF Core 迁移数据库,以及对数据库升级的思考

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