在 .NET 8 框架中使用 Web API 项目并通过引用 SqlSugar ORM 来操作数据库

在 .NET 8 框架中使用 Web API 项目并通过引用 SqlSugar ORM 来操作数据库,可以遵循以下步骤:

1. 准备工作
确保已安装 .NET 8 SDK 和 SqlSugar NuGet 包。
创建或打开现有的 Web Core API 项目。
安装 SqlSugar NuGet 包:

dotnet add package SqlSugar

2. 配置 SqlSugar
在 Web API 项目中配置 SqlSugar,通常需要以下几步:
2.1 添加 SqlSugar 配置到 appsettings.json
示例配置:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=TestDb;User Id=sa;Password=your_password;"
  }
}

2.2 在 Program.cs 中配置 SqlSugar

using SqlSugar;

var builder = WebApplication.CreateBuilder(args);

// 配置 SqlSugar
builder.Services.AddScoped<ISqlSugarClient>(sp =>
{
    var config = new ConnectionConfig
    {
        ConnectionString = builder.Configuration.GetConnectionString("DefaultConnection"),
        DbType = DbType.SqlServer, // 根据实际数据库类型修改,例如:MySql、PostgreSQL 等
        IsAutoCloseConnection = true
    };
    return new SqlSugarClient(config);
});

var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

3. 创建服务和控制器
3.1 创建数据模型
示例模型 User

public class User
{
    [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] // 主键和自增列
    public int Id { get; set; }

    public string Name { get; set; }
    public int Age { get; set; }
}

3.2 创建服务操作数据库
创建一个服务类,封装数据库操作:

using SqlSugar;

public class UserService
{
    private readonly ISqlSugarClient _db;

    public UserService(ISqlSugarClient db)
    {
        _db = db;
    }

    public async Task<List<User>> GetAllUsersAsync()
    {
        return await _db.Queryable<User>().ToListAsync();
    }

    public async Task AddUserAsync(User user)
    {
        await _db.Insertable(user).ExecuteCommandAsync();
    }
}

3.3 注入服务
Program.cs 中注册服务:

builder.Services.AddScoped<UserService>();

3.4 创建控制器
创建 UserController,处理前端请求:

using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/[controller]")]
public class UserController : ControllerBase
{
    private readonly UserService _userService;

    public UserController(UserService userService)
    {
        _userService = userService;
    }

    [HttpGet]
    public async Task<IActionResult> GetUsers()
    {
        var users = await _userService.GetAllUsersAsync();
        return Ok(users);
    }

    [HttpPost]
    public async Task<IActionResult> AddUser(User user)
    {
        await _userService.AddUserAsync(user);
        return Ok();
    }
}

4. 启动并测试 API
启动 Web API 项目:

dotnet run

使用 Postman 或其他工具访问:

  • GET /api/User:获取用户列表。
  • POST /api/User:添加新用户(需要在请求体中提供用户数据)。

5. 可选:集成 Swagger
Program.cs 中启用 Swagger 以方便测试:

builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.MapControllers();
app.Run();

访问 http://localhost:5000/swagger 测试 API。

注意事项
SqlSugar 特性支持:SqlSugar 支持 CodeFirst 和 DbFirst,灵活选择。
事务支持:SqlSugar 提供丰富的事务支持,使用 _db.Ado.BeginTran() 等方法处理复杂操作。
数据库类型:确保正确选择数据库类型,例如 DbType.SqlServerDbType.MySql
通过上述步骤,您可以在 .NET 8 Web Core API 项目中顺利集成 SqlSugar ORM!

发布者:myrgd,转载请注明出处:https://www.object-c.cn/4714

Like (0)
Previous 2024年11月27日 下午3:49
Next 2024年11月27日 下午4:02

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

在线咨询: QQ交谈

邮件:723923060@qq.com

关注微信