SqlSugar 开源ORM框架使用教程
SqlSugar项目地址:https://gitcode.com/gh_mirrors/sq/SqlSugar
项目介绍
SqlSugar 是一个由 Fructose Big Data Technology 团队维护的 .NET 开源 ORM 框架。它以其易用性、高性能和丰富的功能而著称,支持多种数据库,包括 MySql、SqlServer、Sqlite、Oracle 等。SqlSugar 提供了从数据表构建、索引创建到 CRUD 操作的全套支持,特别适用于处理大数据写入、更新和查询统计。
项目快速启动
安装 SqlSugar
首先,通过 NuGet 安装 SqlSugar:
dotnet add package SqlSugar
配置数据库连接
在项目中创建一个 DbContext
类来配置数据库连接:
public class MyDbContext
{
public SqlSugarClient Db { get; private set; }
public MyDbContext()
{
Db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = "YourConnectionString",
DbType = DbType.SqlServer, // 根据需要更改数据库类型
IsAutoCloseConnection = true
});
}
}
定义实体类
定义一个简单的实体类:
[SugarTable("Students")]
public class Student
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
执行 CRUD 操作
使用 MyDbContext
进行基本的 CRUD 操作:
var dbContext = new MyDbContext();
// 插入数据
dbContext.Db.Insertable(new Student { Name = "张三", Age = 20 }).ExecuteCommand();
// 查询数据
var students = dbContext.Db.Queryable<Student>().ToList();
// 更新数据
dbContext.Db.Updateable(new Student { Id = 1, Name = "李四", Age = 21 }).ExecuteCommand();
// 删除数据
dbContext.Db.Deleteable<Student>(1).ExecuteCommand();
应用案例和最佳实践
大数据处理
SqlSugar 在大数据处理方面表现出色,支持分表查询和大数据导航查询。以下是一个分表查询的示例:
var dbContext = new MyDbContext();
// 分表查询
var result = dbContext.Db.Queryable<Student>()
.SplitTable(tabs => tabs.Where(it => it.CreateTime > DateTime.Now.AddDays(-1)))
.ToPageList(1, 10);
多数据库支持
SqlSugar 支持多数据库操作,可以在同一项目中轻松切换数据库:
var dbContext = new MyDbContext();
// 切换数据库
dbContext.Db.ChangeDatabase("AnotherConnectionString");
典型生态项目
集成到 ASP.NET Core
SqlSugar 可以轻松集成到 ASP.NET Core 项目中,提供强大的数据访问支持:
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<MyDbContext>();
services.AddControllersWithViews();
}
与 Entity Framework Core 对比
SqlSugar 在性能和功能上与 Entity Framework Core 相比具有明显优势,特别是在大数据处理和生成的 SQL 优化方面。
通过以上教程,您可以快速上手并充分利用 SqlSugar 的强大功能,实现高效的数据库操作。