国产优秀ORM框架SqlSugar的使用方法,实例解析
创始人
2025-07-10 04:41:30
0

SqlSugar是一个轻量级ORM框架,专门用于.NET平台,可以简化数据库操作,提高开发效率。它支持多种数据库,包括MySQL、SqlServer、Oracle等,提供了丰富的功能和灵活的配置选项。

下面将详细介绍SqlSugar的使用方法及其相比其他ORM框架的优点。

一、SqlSugar的安装和配置

使用NuGet包管理器安装SqlSugar。 在Visual Studio中,右击项目,选择“管理NuGet程序包”,搜索“SqlSugar”,选择安装。

配置数据库连接字符串。 在app.config或web.config文件中,添加如下配置节:


 

创建实体类。 创建一个类,用于映射数据库表的结构,例如:

public class User
{
         public int Id { get; set; }
         public string Name { get; set; }
         public int Age { get; set; }
}

二、SqlSugar的基本用法

初始化SqlSugar对象。

using SqlSugar;
...
var connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
var db = new SqlSugarClient(new ConnectionConfig()
{
       ConnectionString = connectionString,
       DbType = DbType.SqlServer,
       IsAutoCloseConnection = true,
       InitKeyType = InitKeyType.Attribute
});

增删改查操作。

// 插入数据
var user = new User { Name = "张三", Age = 20 };
var id = db.Insertable(user).ExecuteReturnIdentity();

// 更新数据
user.Age = 25;
db.Updateable(user).ExecuteCommand();

// 删除数据
db.Deleteable().Where(u => u.Id == id).ExecuteCommand();

// 查询数据
var userList = db.Queryable().ToList();

高级查询。

// 条件查询
var userList = db.Queryable().Where(u => u.Age > 18).ToList();

// 分页查询
var userList = db.Queryable().Where(u => u.Age > 18).ToPageList(1, 10, ref totalCount);

// 排序查询
var userList = db.Queryable().OrderBy(u => u.Age, OrderByType.Desc).ToList();

// 连表查询
var userList = db.Queryable((u, o) => new JoinQueryInfos(JoinType.Left, u.Id == o.UserId))
 .Select((u, o) => new { u.Name, o.OrderNo })
 .ToList();

事务操作。

// 开启事务
db.Ado.BeginTran();

try
{
       // 执行多个操作
       db.Insertable(user1).ExecuteCommand();
       db.Insertable(user2).ExecuteCommand();

       // 提交事务
       db.Ado.CommitTran();
}
catch (Exception ex)
{
         // 回滚事务
         db.Ado.RollbackTran();
}

三、SqlSugar相比其他ORM框架的优点

  • 简单易用。 SqlSugar提供了简洁的API,可以快速上手,减少学习成本。
  • 性能优越。 SqlSugar采用了一系列优化措施,如缓存、预编译等,提高了数据库操作的性能。
  • 支持多种数据库。 SqlSugar支持多种数据库,可以轻松切换数据库类型,减少了对数据库的依赖。
  • 提供丰富的功能。 SqlSugar提供了丰富的功能,如分页查询、事务操作、连接查询等,满足了各种复杂的业务需求。
  • 提供灵活的配置选项。 SqlSugar提供了许多配置选项,可以根据需求进行灵活配置,满足不同项目的需求。

以上是对SqlSugar的详细介绍及其相比其他ORM框架的优点。通过使用SqlSugar,可以简化数据库操作,提高开发效率。希望以上内容对您有所帮助。

【示例源代码】

using System;
using System.Configuration;
using SqlSugar;

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        var connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
        var db = new SqlSugarClient(new ConnectionConfig()
        {
            ConnectionString = connectionString,
            DbType = DbType.SqlServer,
            IsAutoCloseConnection = true,
            InitKeyType = InitKeyType.Attribute
        });

        var user = new User { Name = "张三", Age = 20 };
        var id = db.Insertable(user).ExecuteReturnIdentity();

        user.Age = 25;
        db.Updateable(user).ExecuteCommand();

        db.Deleteable().Where(u => u.Id == id).ExecuteCommand();

        var userList = db.Queryable().ToList();

        Console.WriteLine("查询结果:");
        foreach (var u in userList)
        {
            Console.WriteLine($"Id: {u.Id}, Name: {u.Name}, Age: {u.Age}");
        }

        Console.ReadLine();
    }
}

以上是一个简单的使用SqlSugar的示例代码。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...