sqlsugar入门

文章目录

  • [1. 安装 SQLSugar](#1. 安装 SQLSugar)
  • [2. 创建数据库对象](#2. 创建数据库对象)
  • [3. 定义实体类](#3. 定义实体类)
  • [4. 基本的 CRUD 操作](#4. 基本的 CRUD 操作)
  • [5. 高级功能](#5. 高级功能)
  • 小结

在开始介绍如何入门 SQLSugar ORM(对象关系映射工具),我们先了解一些基础概念。SQLSugar 是一个简单而强大的 .NET 平台下的 ORM(对象关系映射)框架,它旨在提高开发效率,通过简化数据库操作,使得开发者可以更加专注于业务逻辑而非繁琐的数据库操作代码。

1. 安装 SQLSugar

首先,你需要在你的 .NET 项目中安装 SQLSugar。你可以通过 NuGet 包管理器来安装。打开 Visual Studio 的 NuGet 包管理器控制台,执行以下命令:

bash 复制代码
Install-Package SqlSugar

2. 创建数据库对象

在开始使用 SQLSugar 之前,需要创建数据库对象。

csharp 复制代码
//创建数据库对象
     SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
     {
        ConnectionString = "Server=.;Database=OA;uid=sa;password=123456",
        DbType = DbType.SqlServer,
        IsAutoCloseConnection = true
     });

3. 定义实体类

使用 SQLSugar 时,你需要为数据库中的表定义对应的实体类。例如,假设有一个名为 Users 的表:

csharp 复制代码
[SugarTable("Users")] // 指定表名,如果不指定,则默认为类名
public class User
{
    [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] // 主键且自增
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

4. 基本的 CRUD 操作

查询

csharp 复制代码
var users = db.Queryable<User>().ToList(); // 获取所有用户

插入

csharp 复制代码
var user = new User { Name = "张三", Age = 30 };
db.Insertable(user).ExecuteCommand(); // 插入用户

更新

csharp 复制代码
user.Age = 31; // 修改年龄
db.Updateable(user).ExecuteCommand(); // 更新用户信息

删除

csharp 复制代码
db.Deleteable<User>(it => it.Id == 1).ExecuteCommand(); // 删除 ID 为 1 的用户

5. 高级功能

SQLSugar 支持许多高级功能,如分页、多表查询、事务处理等。例如,使用 Lambda 表达式进行查询:

csharp 复制代码
var user = db.Queryable<User>().Where(it => it.Name == "张三").First(); // 获取名为"张三"的用户

或者进行多表联合查询:

csharp 复制代码
var result = db.Queryable<User, Role>((u, r) => u.RoleId == r.Id) // 多表联合查询的例子,需要定义好外键关系或使用 Join 方法指定连接条件
             .Select((u, r) => new { UserName = u.Name, RoleName = r.Name }) // 选择需要的字段返回
             .ToList(); // 获取结果列表

小结

以上就是 SQLSugar ORM 的基本入门指南。SQLSugar 的设计目标是简化数据库操作,使得开发者能够快速高效地开发 .NET 应用。通过上述步骤,你应该能够开始使用 SQLSugar 进行基本的数据库操作了。随着对 SQLSugar 的深入学习,你会发现更多高级特性和优化技巧。祝你编码愉快!

相关推荐
全栈陈序员2 小时前
【Git】从入门到精通(十)—— 撤销与恢复:git checkout与git restore
运维·网络·数据库·git
ss2739 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
瑞克-桑切斯9 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
z06.10 小时前
MySQL索引
数据库·mysql
考虑考虑10 小时前
Posrgresql恢复.backup文件
数据库·后端·postgresql
云祺vinchin10 小时前
中小企业备份软件选型从恢复需求到总体成本评估
数据库·数据备份·中小企业备份·容灾备份软件
Zenova EdgeOS11 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
KKKlucifer11 小时前
国内数据安全服务的产品智能化转型:大模型赋能下的技术能力重构分析
大数据·数据库·重构
字节跳动开源12 小时前
OpenViking 上线原生 3D 内容理解模型
数据库·开源