C# SqlSugar ORM 指南 一:框架简介SqlSugar 是一款由果糖大数据科技团队维护的国产 .NET 开源 ORM 框架,以"开箱即用、简单易上手"著称。核心优势:多数据库支持:通过统一的 API 抽象,仅需更改配置中的DbType即可无缝切换多种数据库。支持范围包括 MySql、SqlServer、Sqlite、Oracle、PostgreSQL,以及国产的达梦、人大金仓等,最近还开始支持 MongoDB。易于使用:设计理念强调"超级简单",大部分场景使用默认配置即可,学习曲线平滑。高性能:在某些映射性能上甚至优于 Dapper,同时提供与商业组件媲美的大数据批量操作功能。二:快速开始2.1 安装 NuGet 包项目类型推荐包.NET Core / .NET 5+SqlSugarCore.NET FrameworkSqlSugar使用 PostgreSQLSqlSugarCore+Npgsql使用 ClickHouseSqlSugar.ClickHouseCore2.2 配置数据库连接通常在Program.cs中将ISqlSugarClient注册为服务。以 MySQL 为例:usingSqlSugar;builder.Services.AddScopedISqlSugarClient(sp={ // 推荐使用 SqlSugarScope 管理单例 vardb =newSqlSugarClient(newConnectionConfig() { DbType=DbType.MySql, ConnectionString="server=localhost;port=3306;user=root;password=your_pwd;database=your_db", IsAutoCloseConnection=true,// 自动释放连接,推荐开启 InitKeyType=InitKeyType.Attribute// 从实体特性中读取主键信息 }); // AOP 配置:打印执行的 SQL 日志(性能调优利器) db.Aop.OnLogExecuting=(sql, pars) ={ Console.WriteLine(UtilMethods.GetNativeSql(sql, pars)); }; returndb;});2.3 创建实体类通过实体类和特性,将 C# 类与数据库表进行映射:usingSqlSugar;[SugarTable("sys_user")]// 指定数据库表名publicclassUser{ [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]// 主键、自增 publicintId {get;set; } [SugarColumn(Length = 50, IsNullable = false)] publicstringUserName {get;set; } publicintAge {get;set; } [SugarColumn(IsNullable = true)] publicstringEmail {get;set; }}三:核心 CRUD 操作3.1 创建 (Insert)vardb = serviceProvider.GetRequiredServiceISqlSugarClient();// 插入单条,返回自增主键值varuser =newUser { UserName ="张三", Age =25};intnewId = db.Insertable(user).ExecuteReturnIdentity();// 批量插入ListUser users =newListUser {/* ... */};db.Insertable(users).ExecuteCommand();3.2 读取 (Query)// 查询所有varallUsers=db.QueryableUser().ToList();// 条件查询varadults=db.QueryableUser().Where(u=u.Age18).ToList();// 查询单条(根据主键)varuser=db.QueryableUser().InSingle(1);3.3 更新 (Update)​​​​​​​// 先查后改varuserToUpdate = db.QueryableUser().InSingle(1);userToUpdate.Age=26;db.Updateable(userToUpdate).ExecuteCommand();// 根据条件直接更新(批量)