1、通过Nuget引用MySqlConnector
MySqlConnector是用于.NET和.NET Core的异步MySQL连接器,MySQL的ADO.NET数据提供程序。它提供的实现,查询和更新从托管代码数据库所需类(DbConnection,DbCommand,DbDataReader,DbTransaction等)。此库为数据库操作实现真正的异步I/O,而不阻塞(或使用Task.Run在后台线程上运行同步方法)。这极大地提高了执行数据库操作的Web服务器的吞吐量。
在Nuget管理程序中,搜索'MySqlConnector' =》选中然后点击'安装'。
2、appsettings.json配置文件连接字符串配置{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Error",
"System": "Error",
"Microsoft": "Error"
}
},
"ConnectionStrings": {
"DefaultConnection": "server=127.0.0.1;user id=mysqltest;password=test;port=3306;database=blog;",
}
}
3、封装MySqlConnection连接类
从配置文件读取ConnectionString,创建连接对象。using System;
using MySql.Data.MySqlClient;
namespace MySqlConnector.Conn
{
public class AppDb : IDisposable
{
public MySqlConnection Connection;
public AppDb(string connectionString)
{
Connection = new MySqlConnection(connectionString);
}
public void Dispose()
{
Connection.Close();
}
}
}
在Startup.cs中注入连接对象:services.AddTransient(_ => new AppDb(Configuration["ConnectionStrings:DefaultConnection"]));
注意:
Transient:每次从容器 (IServiceProvider)中获取的时候都是一个新的实例
Singleton:每次从同根容器中(同根IServiceProvider)获取的时候都是同一个实例
Scoped:每次从同一个容器中获取的实例是相同的
4、项目示例代码
1)HomeController.cs文件代码using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Thre