rider下ef core迁移

2024-03-23 19:36
文章标签 core 迁移 rider ef

本文主要是介绍rider下ef core迁移,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

新建数据库

create database mockstu

新建web项目

安装Microsoft.EntityFrameworkCore.SqlServer
在这里插入图片描述

设置连接字符串

在这里插入图片描述
新建model

using MockStuWeb.Models.EnumTypes;
using System.ComponentModel.DataAnnotations;namespace MockStuWeb.Models
{/// <summary>/// 学生类/// </summary>public class Student{/// <summary>/// 唯一标识/// </summary>public int Id { get; set; }/// <summary>/// 姓名/// </summary>[Display(Name = "名字")][Required(ErrorMessage = "请输入名字"), MaxLength(50, ErrorMessage = "名字的长度不能超过50个字符")]public string? Name { get; set; }/// <summary>/// 主修课程/// </summary>[Required(ErrorMessage ="请选择主修课程")][Display(Name = "主修课程")]public MajorEnum? Major { get; set; }/// <summary>/// 邮箱/// </summary>[Display(Name = "邮箱")][RegularExpression(@"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$", ErrorMessage = "邮箱的格式不正确")][Required(ErrorMessage = "请输入邮箱地址,它不能为空")]public string? Email { get; set; }}
}

新建dbContenxt

using Microsoft.EntityFrameworkCore;
using MockStuWeb.Models;namespace MockStuWeb.Infrastructure;public class AppDbContext:DbContext
{/// <summary>/// 构造函数注入/// </summary>/// <param name="options"></param>public AppDbContext(DbContextOptions<AppDbContext> options):base(options){}public DbSet<Student> Students{get;set;}}

program.cs中使用

builder.Services.AddDbContextPool<AppDbContext>(options =>
{options.UseSqlServer(configuration.GetConnectionString("MockStudentDBConnection"));
});

安装dotnet-ef

dotnet tool install --global dotnet-ef

在这里插入图片描述

创建迁移

cd .\MockStuWeb\
dotnet ef migrations add InitialCreate --namespace .\MockStuWeb.csproj --output-dir Migrations

在这里插入图片描述
安装Microsoft.EntityFrameworkCore.Tools,顺便升级一下sql server包
在这里插入图片描述
在这里插入图片描述
需要改代码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

更新到数据库中

dotnet ef database update InitialCreate

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启用种子数据

Infrastructure下新建ModelBuilderExtensions

using Microsoft.EntityFrameworkCore;
using MockStuWeb.Models;
using MockStuWeb.Models.EnumTypes;namespace MockStuWeb.Infrastructure;public static class ModelBuilderExtensions
{public static void Seed(this ModelBuilder modelBuilder){modelBuilder.Entity<Student>().HasData(new Student{Id = 2,Name = "张三",Major = MajorEnum.ComputerScience,Email = "zhangsan@52abp.com"});}
}

AppDbContext添加如下代码

/// <summary>
/// 模型创建的时候
/// </summary>
/// <param name="modelBuilder"></param>
protected override void OnModelCreating(ModelBuilder modelBuilder)
{modelBuilder.Seed();
}

添加迁移记录并更新

dotnet ef migrations add AlterStudentsSeedData --namespace .\MockStuWeb.csproj --output-dir Migrations
dotnet ef database update AlterStudentsSeedData

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进行回退

dotnet ef migrations list
dotnet ef migrations remove -f

只能手动修改一下代码
建立表格的代码注释掉
在这里插入图片描述
在这里插入图片描述
单条数据也可以这么写
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

进行回退

dotnet ef migrations list
dotnet ef migrations remove -f
dotnet ef database update InitialCreate

在这里插入图片描述

在这里插入图片描述
把这次迁移的文件删除即可
在这里插入图片描述

参考

这篇关于rider下ef core迁移的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839329

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

Linux Centos 迁移Mysql 数据位置

转自:http://www.tuicool.com/articles/zmqIn2 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysql5.1 yum 安装的 mysql 服务 查看 mysql 的安装路径 执行查询 SQL show variables like

风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架

论文链接:https://arxiv.org/pdf/2408.16766 项目链接:https://csgo-gen.github.io/ 亮点直击 构建了一个专门用于风格迁移的数据集设计了一个简单但有效的端到端训练的风格迁移框架CSGO框架,以验证这个大规模数据集在风格迁移中的有益效果。引入了内容对齐评分(Content Alignment Score,简称CAS)来评估风格迁移

jupyter在加载pkl文件时报错ModuleNotFoundError: No module named 'pandas.core.internals.managers'; '的解决方法

笔者当看到这个错误的时候一脸懵逼,在pycharm上正常运行的code 放在jupyter就不成了,于是就研究一翻。 一开始以为自己的pkl文件有问题,研究重点放在这里,最后发现不是。 然后取搜索pycharm和jupyter下的python的\Lib\site-packages\pandas\core\internals有什么不同 发现jupyter下没有pandas\core\intern

DataGrip数据迁移

第一步 第二步  第三步  第四步 选择你刚刚到处的文件即可

从VC6迁移至VS2005 ,VS2008

最近开发平台由VC6.0升级至VS2005,需要将原有的项目迁移,特将碰到的问题归纳如下: 1消息映射 VS2005对消息的检查更为严格,以前在VC6下完全正常运行的消息映射在VS2005下编译不通过 a. ON_MESSAGE(message,OnMyMessage);   OnMyMessage返回值必须为LRESULT,其形式为:afx_msg LRESULT OnMyMessage(