国产优秀ORM框架SqlSugar的使用方法,实例解析

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

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

一、SqlSugar的安装和配置

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

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

<connectionStrings>
 <add name="DefaultConnection" connectionString="Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=123456;" providerName="System.Data.SqlClient" />
</connectionStrings>

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

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

二、SqlSugar的基本用法

1.初始化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
});

2.增删改查操作。

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

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

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

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

3.高级查询。

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

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

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

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

4.事务操作。

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

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

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

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

  1. 简单易用。 SqlSugar提供了简洁的API,可以快速上手,减少学习成本。
  2. 性能优越。 SqlSugar采用了一系列优化措施,如缓存、预编译等,提高了数据库操作的性能。
  3. 支持多种数据库。 SqlSugar支持多种数据库,可以轻松切换数据库类型,减少了对数据库的依赖。
  4. 提供丰富的功能。 SqlSugar提供了丰富的功能,如分页查询、事务操作、连接查询等,满足了各种复杂的业务需求。
  5. 提供灵活的配置选项。 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<User>().Where(u => u.Id == id).ExecuteCommand();

        var userList = db.Queryable<User>().ToList();

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

        Console.ReadLine();
    }
}

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

posted @ 2023-11-27 07:11  架构师老卢  阅读(2381)  评论(0编辑  收藏  举报