[ApiController]
[Route("api/[controller]")]
public class UsersController : ControllerBase
{
private readonly IDbConnection _db;
// 通过构造函数注入 IDbConnection
public UsersController(IDbConnection db)
{
_db = db;
}
[HttpGet]
public async Task<IActionResult> GetUsers()
{
var users = new List<User>();
// 使用 Dapper 简化数据操作(推荐)
// users = await _db.QueryAsync<User>("SELECT * FROM Users");
// 或者使用原生 ADO.NET
await _db.OpenAsync();
using (var command = new MySqlCommand("SELECT * FROM Users", (MySqlConnection)_db))
{
using (var reader = await command.ExecuteReaderAsync())
{
while (await reader.ReadAsync())
{
users.Add(new User
{
Id = reader.GetInt32("Id"),
Name = reader.GetString("Name")
});
}
}
}
return Ok(users);
}
}