目录
分享小白日常,记录自己码农点滴
今天和大家分享的是.net framwork core webapi 配置连接mysql数据库的DbContext,并把表内字段迁移至mysql数据库内
虽然.Net 已经更新到现在的.Net 6的版本以及更高,但是还是要了解配置的
过程
所以
我们直接开始
-
创建Asp.Net Core Webapi的应用程序
首先大家要打开VS2022创建SP.NET Core WebApi 的项目
-
下载程序所需NuGet包
分别是
Microsoft.EntityFrameworkCore //DbContext
Pomelo.EntityFrameworkCore.MySql //连接mysql数据库所需
Microsoft.EntityFrameworkCore.Design //迁移所需
这三个包的版本尽量保持和自己.net版本一致
小编是自己直接创建的Webapi层 ,所以创建实体类就都在这下边创建了,我们继续
-
创建数据库
新建一个数据库,为我们后边迁移字段做准备,小编在这里用的Navicat 连接的mysql数据库
-
新建实体类和上下文
建好数据库后我们新建一个类 用来存放表内数据
public class Student
{
/// <summary>
/// 主键
/// </summary>
public Guid Id { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string? Name { get; set; }
/// <summary>
/// 身高
/// </summary>
public string? Hight { get; set; }
/// <summary>
/// 年龄
/// </summary>
public int? Age { get; set; }
/// <summary>
/// 出生日期
/// </summary>
public DateTime? Birthday { get; set; }
}
新创建一个MyDbcontext类,用来迁移
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
{
}
public DbSet<Student>? Students { get; set; } //需要迁移到数据库的表
}
-
配置连接数据库的字符串
appsetting.json配置连接数据库的字符串
server:服务器地址,prot:端口号,database:数据库名称,user:用户名,password:密码
"ConnectionStrings": {
"MyDbConnection":"server=localhost;port=3306;database=student;user=root;password=123456"
}
-
Program.cs里添加DbContext服务
builder.Services.AddDbContext<MyDbContext>(options => options.UseMySql(builder.Configuration.GetConnectionString("MyDbConnection"),
new MySqlServerVersion(new Version(8,0,26))));
-
查看mysql端口号
这里的8,0,26是mysql数据的版本,大家查找版本可以如下图
-
迁移保存
输入迁移命令
Add-Migration Student //迁移
Update-database //保存
先迁移,后保存 没有报错 好的我们看数据库
成功了。
希望这边文章能够帮助到你哦