一、官网下载示例代码,过程略

二、安装MySql EF 支持包,生成数据库表

1. 安装EF Core的MySQL支持包

Laobai.EntityFrameworkCore项目的依赖项上右键,打开nuget管理工具,搜索 Pomelo.EntityFrameworkCore.MySql安装即可。

2. 修改代码的连接串,修改配置代码,并生成数据库表

2.1 修改appsettings.json的数据库连接字符串。

删除appsettings.json中连接串中的Trusted_Connection=True;否则会报错,如下内容:

Option ‘trusted_connection’ not supported.

2.2 修改LaobaiDbContextConfigurer里的两个方法

将原来的使用SQLServer的配置改成使用MySQL配置。

1
2
3
4
5
6
7
8
9
10
11
public static void Configure(DbContextOptionsBuilder<LaobaiDbContext> builder, string connectionString)
{
builder.UseMySql(connectionString);
//builder.UseSqlServer(connectionString);
}

public static void Configure(DbContextOptionsBuilder<LaobaiDbContext> builder, DbConnection connection)
{
builder.UseMySql(connection);
//builder.UseSqlServer(connection);
}
2.3 升级数据库

程序包管理控制台里,切换到Laobai.EntityFrameworkCore项目文件夹里,执行 dotnet ef database update准备生成相应的数据库表结构。这时报了一个错误,如下:

The EF Core tools version ‘3.0.0’ is older than that of the runtime ‘3.1.1’. Update the tools for the latest features and bug fixes.

执行 dotnet ef -v得到如下内容:

Entity Framework Core .NET Command-line Tools
3.0.0

执行dotnet tool list -g得到如下结果,这里如果没有后面的 -g全局标记,很可能是找不到这个工具的代码的。

包 ID     版本  命令
----
dotnet-ef 3.0.0 dotnet-ef |

执行升级命令dotnet tool update dotnet-ef -g,依然是全局升级,命令行的参数dotnet-ef就是上面查到的ef coreID

再次执行update数据的命令,依然报错,大概率是datetime2类型错误,这是因为默认的migration代码是sqlserver的,把旧的迁移文件移除,执行dotnet ef migrations add initialmysqldatabase生成新的迁移脚本,再执行命令,数据表生成成功。

3. 将启动项目设置为Host项目,运行 VS,就能顺利打开swagger的界面了。