跟着官网学ASP.NET Core 6.0之通过EF Core6.0操作数据库

跟着官网学ASP.NET Core 6.0之通过EF Core6.0操作数据库

前面,我们跟着微软官网教程,创建了一个简单的Demo Webapi程序,这节,我们继续跟着教程学一下简单的EF Core操作数据库

连接数据库自然需要相应的数据库驱动,在微软官方也给我列出了相应数据库的驱动程序,如下图:

这里我的数据库是MySQL 8.0.24,所以需要安装Pomelo.EntityFrameworkCore.MySql,它支持MySQLMariaDB

安装MySQL驱动

安装NuGet包方式有多种,如直接在包命令行输入Install-Package Pomelo.EntityFrameworkCore.MySql -Version 6.0.0进行安装,或者通过.NET CLI执行dotnet add package Pomelo.EntityFrameworkCore.MySql --version 6.0.0进行安装,又或者在.csproj中加入<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.0" />进行安装,等等。当然我还是比较喜欢图形化操作,在VS中依赖项(右键)->选择NuGet程序包->输入Pomelo.EntityFrameworkCore.MySql回车搜索->点击安装


配置数据库

我们先在appsettings.json增加数据库连接,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
 {
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"MysqlConnectionString": "Server=localhost;User=hrp;Password=hrp123456*;Database=hrp"
}
}


继续去Program.cs配置数据库
1
2
3
4
5
6
var serverVersion = new MySqlServerVersion(new Version(8, 0, 24));
string connectionString = builder.Configuration.GetConnectionString("MysqlConnectionString");
builder.Services.AddDbContext<DemoContext>(opt =>
{
opt.UseMySql(connectionString, serverVersion);
});

支持,数据库便配置好了,我接下来便是迁移数据库

迁移数据库

这里我们从工具->NuGet包管理器->程序包管理器控制台,执行Add-Migration InitialCreate命令


执行成功后,会在项目下生成迁移文件,并且会在数据库中创建一个名为__efmigrationshistory的记录表


我们打开20220116090024_InitialCreate即可看到生成好的迁移代码,我们可以看到,Id列为MySqlValueGenerationStrategy.IdentityColumn,会自动生成为Id递增。我们在程序包管理器控制台继续执行Update-Database命令,它便会帮我们在数据库中创建好表



这些字段名和字段类型及长度是可以指定的,这个后面再详细学习

测试WebApi

数据库已连接,数据库中的表也已生成好,那么接下来就去测试下我们的API能否正常工作。

新增数据



查询数据



这一节,我们简单的了解了一下ASP.NET Core 6.0通过EF Core6.0来操作MySQL数据库,下一节,我们继续学习ASP.NET Core 6.0打印日志。

EF Core功能很是强大,并不是通过几个简单的操作就能学习得完的,后面我们抽时间继续深入一下。

跟着官网学ASP.NET Core 6.0之通过EF Core6.0操作数据库

https://blogs.52fx.biz/posts/3417998715.html

作者

eyiadmin

发布于

2022-01-18

更新于

2024-05-31

许可协议

评论