当前位置: 首页 > news >正文

.net6 web api使用EF Core,根据model类自动生成表

1.安装EF Core和mysql数据库的nuget包
Microsoft.EntityFrameworkCore
Pomelo.EntityFrameworkCore.MySql
在这里插入图片描述
2.创建models文件夹,在文件夹下创建实体类
在这里插入图片描述

  public class Users{public int Id { get; set; }[Column(TypeName = "varchar(200)"), Required]public string Name { get; set; }[Column(TypeName = "varchar(200)")]public string Email { get; set; }[Column(TypeName = "varchar(200)")]public string age { get; set; }}

3.创建数据库上下文操作类MyDbContext继承DbContext
在这里插入图片描述

namespace EfCore
{public class MyDbContext: DbContext{//添加Users实体类public DbSet<Users> Users { get; set; }protected override void OnModelCreating(ModelBuilder modelBuilder){//modelBuilder.Entity<MyModel>()//    .HasKey(x => x.Id);//    modelBuilder.Entity<Users>()//        .Property(e => e.Email)//        .IsRequired()//        .HasMaxLength(50);modelBuilder.ApplyConfigurationsFromAssembly(typeof(MyDbContext).Assembly);}//构造函数public MyDbContext(DbContextOptions<MyDbContext> option) : base(option){// 如果数据库表不存在则创建Database.EnsureCreated();// 执行自动迁移以将数据库与实体类定义同步Database.Migrate();}}
}

4.在appsettings.json文件添加数据库连接字符串

  "ConnectionStrings": {"DbConnectionString": " Data Source=localhost;Database=efcore;AllowLoadLocalInfile=true;User ID=root;Password=root;allowPublicKeyRetrieval=true;pooling=true;CharSet=utf8;port=3306;sslmode=none;"}

在这里插入图片描述
5.在Program.cs类实现依赖注入
在这里插入图片描述
6.控制器中使用,添加一个名称为UsersController的控制器
在这里插入图片描述

 [Route("api/[controller]")][ApiController]public class UsersController : ControllerBase{private readonly MyDbContext _context;public UsersController(MyDbContext context){_context = context;}[HttpGet("user")]public ActionResult<IEnumerable<Users>> Get(){return _context.Users.ToList();}}

7.启动项目调用该api接口,发现数据库表成功创建,实现自动迁移
在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/34943.html

相关文章:

  • 计算机科学导论笔记(五)
  • 通过命令打Java可执行jar包
  • java基础系列(九) 接口和抽象类
  • Docker启动问题docker is starting…
  • Django/Vue实现在线考试系统-03-开发环境搭建-MySQL安装
  • python实现波士顿房价预测
  • Pinia不酸,保甜
  • uniapp生命周期
  • 经典卷积模型回顾11—Xception实现图像分类(matlab)
  • 移动App性能测试包含哪些内容?App性能测试工具有哪些?
  • AI测试的迷思
  • [ 红队知识库 ] 一些常用bat文件集合
  • Qt广告机服务器(上位机)
  • SOA架构的理解
  • 如何选择一款数据库?
  • week2
  • JavaScript的学习
  • 用gin写简单的crud后端API接口
  • CF大陆斗C战士(三)
  • TTS | 语音合成论文概述
  • HTML第5天 HTML新标签与特性
  • java ee 之进程
  • Linux学习记录——십사 进程控制(1)
  • 使用 create-react-app 脚手架搭建React项目
  • inquirerjs
  • [数据库]内置函数
  • shell基本知识
  • Http长连接和短连接
  • [SQL Statements] 基本的SQL知识 之DDL针对表结构和表空间的基本操作
  • Git版本控制工具(详解)