國(guó)產(chǎn)優(yōu)秀ORM框架SqlSugar的使用方法,實(shí)例解析

SqlSugar是一個(gè)輕量級(jí)ORM框架,專門用于.NET平臺(tái),可以簡(jiǎn)化數(shù)據(jù)庫(kù)操作,提高開發(fā)效率。它支持多種數(shù)據(jù)庫(kù),包括MySQL、SqlServer、Oracle等,提供了豐富的功能和靈活的配置選項(xiàng)。
下面將詳細(xì)介紹SqlSugar的使用方法及其相比其他ORM框架的優(yōu)點(diǎn)。
一、SqlSugar的安裝和配置
使用NuGet包管理器安裝SqlSugar。 在Visual Studio中,右擊項(xiàng)目,選擇“管理NuGet程序包”,搜索“SqlSugar”,選擇安裝。
配置數(shù)據(jù)庫(kù)連接字符串。 在app.config或web.config文件中,添加如下配置節(jié):
<connectionStrings>
 <add name="DefaultConnection" connectionString="Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=123456;" providerName="System.Data.SqlClient" />
</connectionStrings>創(chuàng)建實(shí)體類。 創(chuàng)建一個(gè)類,用于映射數(shù)據(jù)庫(kù)表的結(jié)構(gòu),例如:
public class User
{
         public int Id { get; set; }
         public string Name { get; set; }
         public int Age { get; set; }
}二、SqlSugar的基本用法
初始化SqlSugar對(duì)象。
using SqlSugar;
...
var connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
var db = new SqlSugarClient(new ConnectionConfig()
{
       ConnectionString = connectionString,
       DbType = DbType.SqlServer,
       IsAutoCloseConnection = true,
       InitKeyType = InitKeyType.Attribute
});增刪改查操作。
// 插入數(shù)據(jù)
var user = new User { Name = "張三", Age = 20 };
var id = db.Insertable(user).ExecuteReturnIdentity();
// 更新數(shù)據(jù)
user.Age = 25;
db.Updateable(user).ExecuteCommand();
// 刪除數(shù)據(jù)
db.Deleteable<User>().Where(u => u.Id == id).ExecuteCommand();
// 查詢數(shù)據(jù)
var userList = db.Queryable<User>().ToList();高級(jí)查詢。
// 條件查詢
var userList = db.Queryable<User>().Where(u => u.Age > 18).ToList();
// 分頁(yè)查詢
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();事務(wù)操作。
// 開啟事務(wù)
db.Ado.BeginTran();
try
{
       // 執(zhí)行多個(gè)操作
       db.Insertable(user1).ExecuteCommand();
       db.Insertable(user2).ExecuteCommand();
       // 提交事務(wù)
       db.Ado.CommitTran();
}
catch (Exception ex)
{
         // 回滾事務(wù)
         db.Ado.RollbackTran();
}三、SqlSugar相比其他ORM框架的優(yōu)點(diǎn)
- 簡(jiǎn)單易用。 SqlSugar提供了簡(jiǎn)潔的API,可以快速上手,減少學(xué)習(xí)成本。
 - 性能優(yōu)越。 SqlSugar采用了一系列優(yōu)化措施,如緩存、預(yù)編譯等,提高了數(shù)據(jù)庫(kù)操作的性能。
 - 支持多種數(shù)據(jù)庫(kù)。 SqlSugar支持多種數(shù)據(jù)庫(kù),可以輕松切換數(shù)據(jù)庫(kù)類型,減少了對(duì)數(shù)據(jù)庫(kù)的依賴。
 - 提供豐富的功能。 SqlSugar提供了豐富的功能,如分頁(yè)查詢、事務(wù)操作、連接查詢等,滿足了各種復(fù)雜的業(yè)務(wù)需求。
 - 提供靈活的配置選項(xiàng)。 SqlSugar提供了許多配置選項(xiàng),可以根據(jù)需求進(jìn)行靈活配置,滿足不同項(xiàng)目的需求。
 
以上是對(duì)SqlSugar的詳細(xì)介紹及其相比其他ORM框架的優(yōu)點(diǎn)。通過(guò)使用SqlSugar,可以簡(jiǎn)化數(shù)據(jù)庫(kù)操作,提高開發(fā)效率。希望以上內(nèi)容對(duì)您有所幫助。
【示例源代碼】
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("查詢結(jié)果:");
        foreach (var u in userList)
        {
            Console.WriteLine($"Id: {u.Id}, Name: {u.Name}, Age: {u.Age}");
        }
        Console.ReadLine();
    }
}以上是一個(gè)簡(jiǎn)單的使用SqlSugar的示例代碼。















 
 
 






 
 
 
 