当前位置: 首页 > news >正文

.NET Core 集成 SqlSugar 最简实战(开箱即用)

一、前言

SqlSugar 是一款轻量、高性能的 ORM 框架,相比 EF Core 更加轻量、易用,非常适合中小型项目快速开发。本文将分享ASP.NET Core 中集成 SqlSugar 的最简配置方案,包含核心配置、Swagger 集成、跨域配置,代码可直接复制使用。

二、环境准备

  • .NET 6/7/8(本文以 .NET 8 为例)
  • SqlSugarCore 包(NuGet 安装)
  • SQL Server 数据库(可根据需求替换为 MySQL/PostgreSQL 等)

安装 NuGet 包

Install-Package SqlSugarCore Install-Package Swashbuckle.AspNetCore

三、核心代码实现

3.1 Program.cs 完整配置

using SqlSugar; using Microsoft.OpenApi.Models; var builder = WebApplication.CreateBuilder(args); // 添加控制器支持 builder.Services.AddControllers(); // 添加端点探索器(Swagger 必需) builder.Services.AddEndpointsApiExplorer(); // 最简 Swagger 配置(方便接口调试) builder.Services.AddSwaggerGen(); // 添加 HttpContext 访问器(可选,按需添加) builder.Services.AddHttpContextAccessor(); // 核心:SqlSugar 最简配置(无日志、无测试连接,仅基础功能) builder.Services.AddScoped<ISqlSugarClient>(s => { return new SqlSugarClient(new ConnectionConfig() { // 数据库类型(可替换为 DbType.MySql/DbType.Sqlite 等) DbType = DbType.SqlServer, // 从配置文件读取连接字符串 ConnectionString = builder.Configuration.GetConnectionString("DefaultConnection"), // 自动关闭连接(推荐开启,避免连接泄露) IsAutoCloseConnection = true }); }); // 跨域配置(解决前端调用接口跨域问题) builder.Services.AddCors(options => { options.AddPolicy("any", policy => { policy.AllowAnyMethod() // 允许所有请求方法 .AllowAnyHeader() // 允许所有请求头 .AllowCredentials() // 允许携带凭证(如 Cookie) .SetIsOriginAllowed(origin => true); // 允许所有来源 }); }); var app = builder.Build(); // 开发环境启用 Swagger if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); // Swagger UI 页面,默认地址:/swagger } // 强制 HTTPS(生产环境推荐,开发环境可注释) app.UseHttpsRedirection(); // 启用跨域策略 app.UseCors("any"); // 启用授权(按需使用,无权限控制可保留) app.UseAuthorization(); // 映射控制器路由 app.MapControllers(); app.Run();

3.2 配置文件(appsettings.json)

{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } }, // 数据库连接字符串 "ConnectionStrings": { "DefaultConnection": "Server=.;User Id=sa;Password=123456;Database=Demo01;Persist Security Info=True;Trust Server Certificate=True" }, "AllowedHosts": "*" }
四、快速使用示例

4.1 创建实体类

using SqlSugar; namespace DemoProject.Entities { /// <summary> /// 用户表 /// </summary> [SugarTable("Sys_User")] // 映射数据库表名 public class SysUser { /// <summary> /// 主键(自增) /// </summary> [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public int Id { get; set; } /// <summary> /// 用户名 /// </summary> public string UserName { get; set; } /// <summary> /// 密码 /// </summary> public string Password { get; set; } } }

4.2 创建控制器(CURD 示例)

using Microsoft.AspNetCore.Mvc; using SqlSugar; using DemoProject.Entities; namespace DemoProject.Controllers { [ApiController] [Route("api/[controller]")] public class UserController : ControllerBase { private readonly ISqlSugarClient _db; // 构造函数注入 SqlSugar 客户端 public UserController(ISqlSugarClient db) { _db = db; } /// <summary> /// 获取所有用户 /// </summary> [HttpGet] public async Task<IActionResult> GetAll() { var users = await _db.Queryable<SysUser>().ToListAsync(); return Ok(users); } /// <summary> /// 添加用户 /// </summary> [HttpPost] public async Task<IActionResult> Add(SysUser user) { var result = await _db.Insertable(user).ExecuteCommandAsync(); return Ok(result > 0 ? "添加成功" : "添加失败"); } } }

五、总结

本文提供了 ASP.NET Core 集成 SqlSugar 的最简开箱即用方案,包含核心配置、跨域、Swagger 等基础功能,适合新手快速上手。SqlSugar 语法简洁、性能优秀,是中小型项目 ORM 框架的优质选择。


附:SqlSugar 官方文档

SqlSugar 官方文档

http://www.jsqmd.com/news/468752/

相关文章:

  • 铌酸锂波导和频技术的研究与应用:引领未来通信技术革新
  • 静态住宅IP安全吗?
  • 当“数字同事”遇上“物理工人”:OpenClaw与人类劳动的终极博弈
  • 习题7-2 求一批整数中出现最多的个位数字
  • Nano Banana 2 实测 – 谷歌 Gemini 3.1 Flash Image 登顶 Arena 生图榜第一
  • 【无标题】从零搭建四大名著NLP分析系统:分词、词频、词性、实体抽取、可视化全攻略
  • 混动汽车建模 [hot]P2运输车混合动力simulink模型[hot] ①(工况可自行添加)...
  • FLASH分区
  • 安卓帝国生存指南:四大组件打工仔与AMS-WMS幕后老板的恩怨情仇
  • 大模型开发从入门到精通:全流程实战+代码解析,一文掌握大模型应用开发全流程指南,值得收藏
  • 解锁论文“数据密码”:书匠策AI的神奇数据分析魔法
  • 小红书全自动AI评论种草服务机构深度评测
  • ISO/SAE 21434是道路车辆网络安全工程的国际标准,旨在为汽车电气电子(E/E)系统的概念、开发、生产、运营、维护和停用提供系统化的网络安全风险管理框架。
  • 骨传导蓝牙耳机哪个牌子好?2026最全骨传导耳机测评整理分享
  • python小考大题
  • 今天,我遇到了一个有趣的编程挑战:编写一个带编螺纹程序,用于控制油槽等设备。这个任务看起来有点复杂,但我决定一步一步来,先从基础知识开始
  • 永磁电机电磁噪声仿真实战:从傅里叶分解到转子建模黑科技
  • 2026年全国海豚吸污机维修平台TOP5正规榜单揭晓
  • 顶空气体分析技术在现代包装工业中的应用研究——以残氧仪为核心的技术解析
  • 贵州本地企业做软件定制开发,怎么选靠谱服务商?
  • 在线绘制带community的蛋白质-蛋白质相互作用(PPI)网络图
  • 2026高职财税大数据应用学数据分析的技术价值与应用前景
  • 从开发者视角看右键菜单管理工具:需求洞察与技术实现
  • 从风险失控到全程可控:高效好用、无故障、先进的金融API安全方案
  • 1688采购避坑指南:供应商违约如何有效维权?
  • 2389168-47-0,18:1 PE-PEG2000-BG,融合了磷脂、聚乙二醇和苄基鸟嘌呤三部分
  • AI+虚拟仿真知识图谱,让知识“活起来、连起来”
  • LabVIEW开发的用户登录源程序 含用户登录和用户管理功能 ACCESS 用LabVIEW开...
  • 2026最新!一线普通开发、算法、大模型薪资大揭秘,高薪岗位天花板超200万!
  • AI大模型应用开发:从入门到精通,掌握LLM、RAG、Agent等核心技能,AI大模型应用开发全攻略!