跟着官网学ASP.NET Core 6.0之通过EF Core6.0操作数据库
前面,我们跟着微软官网教程,创建了一个简单的Demo Webapi
程序,这节,我们继续跟着教程学一下简单的EF Core
操作数据库
连接数据库自然需要相应的数据库驱动,在微软官方也给我列出了相应数据库的驱动程序,如下图:
这里我的数据库是MySQL 8.0.24
,所以需要安装Pomelo.EntityFrameworkCore.MySql
,它支持MySQL
和MariaDB
。
安装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
6var 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操作数据库