SqlSugar,就这个Feel 倍儿爽!

框架简介

SqlSugar 是一款 老牌 .NET开源ORM框架,由果糖大数据科技团队维护和更新 ,开箱即用最易上手的ORM 。

  • 优点 :【生态丰富】【高性能】【超简单】 【功能全面】 【多库兼容】【适合产品】 【SqlSugar视频教程】
  • 支持 :.net framework  .net core3.1  .ne5 .net6 .net7 .net8 .net9
  • 特色 :拥有全球最活跃的ORM线上论坛,比EF还要活跃,交流群人数已超过万人 ,技术支持快,口碑好。

功能目录

  1. 真正可以实现零SQL的ORM 建表、索引和CRUD全部支持
  2. 支持 .NET 百万级大数据写入、更新、分表和拥有几十亿查询统计成熟解决方案
  3. 支持 SAAS 完整应用 :跨库查询 、审计、租户分库 、租户分表 和 租户数据隔离
  4. 支持低代码+工作流  (动态建类 、动态建表、无实体多库兼容CRUD 、 JSON TO SQL 、自定义XML等)
  5. 支持ValueObject、鉴别器、仓储、UnitOfWork、DbContext、AOP
  6. 支持 DbFirst、CodeFirst和WebFirst 3种模式开发
  7. 简单易用、功能齐全、高性能、轻量级、服务齐全、官网教程文档、有专业技术支持一天18小时服务
  8. 完美支持AOT:多种数据库

数据库支持

EF Core的数据库驱动是不同公司开发,函数、建表标准不统一后期换库成本比较高

SqlSugar花了8年多时间完善中间标准真正的多库ORM,只需要改一下DbType就完成了切换数据库

 

关系型数据库 MySql、SqlServer、Sqlite、Oracle 、 postgresql、达梦、人大金仓(合作关系)、海量数据库Vastbase(合作关系)、神通数据库、瀚高、Access 、OceanBase、 MySqlConnector、华为 GaussDB 、南大通用 GBase、MariaDB、Tidb、Odbc、Percona Server, Amazon Aurora、Azure Database for MySQL、PolarDB、 Google Cloud SQL for MySQL、kunDB、TDSQL、GoldenDB 、Doris 自定义数据库

 

适合分布式OceanBase 、Tidb、GaussDB
时序数据库TDengine  (支持群集,缺点不支持更新,语法比较弱支持的东西少)

QuestDb(适合几十亿数据分析,模糊查询,适合单机,语法强大)

列式存储库Clickhouse(适用于商业智能领域(BI),缺点大小写必须和库一样,不支持事务)

 

源码和安装

Github源码 https://github.com/donet5/SqlSugar
Gitee源码 https://gitee.com/dotnetchina/SqlSugar
开源生态 https://www.donet5.com/Home/Doc?typeId=1215
Nuget https://www.donet5.com/Home/Doc?typeId=1226
AOT https://www.donet5.com/Home/Doc?typeId=2574

特色1:超级简单

在不用任何设计模式,任何框架的情况下都可以拥有最佳体验,SqlSugar做到了保姆一样的服务,直接用不需要学习的框架,各种默认值都是最佳配置,用到什么看一下文档便可。

特色2:产品必备

SqlSugar只需要一套代码就能支持几十个数据库,支持的Sql函数超100个,包括开窗函数、行转列等等

支持:多库建表 、多库修改表、多库索引、多库事务

支持:多库查询、跨库查询、多库共存、多库切换

特色3:超高性能

1、SqlSugar 可以生成理想的Sql脱颖而出,相反EF Core对生成的SQL的调整能力有限

2、SqlSugar 提供了大数据写入、大数据导航查询、大数据更新、大数据分表、大数据删除、大数据导入和验证等功能

3、SqlSugar 提供了与收费组件Dapper Plus相媲美的全部功能 ,而无需支付额外费用全部MIT协议

4、超高的基础性能,例如100万记条映射到List<T>比Dapper还快些

特色4:无限潜力

任何开源都离不开活跃的社区,社区越活跃未来发展将越好,目前SqlSugar 拥有.NET单个开源项目最活跃的社区之一并且当天解决率为80%,开源界最勤劳的小蜜蜂 ,每天都在和用户互动,已经形成了良性循环

社区每天都有好的建议和需求推动着SqlSugar向更高的高度发展

特色5:超前理念

SqlSugar是一款来自未来的ORM,拥有超前的理念,需求领跑第一线,可以毫不夸张的说,在设计理念上就算不更新几年都不会过时,我们每天都会跟踪用户需求,将这些用户需求分类和整理,把有共性的功能都整理出来,经历过长达7年的努力,需求成负增长,已经走向了成熟和完善,是一款真正用了功能齐全的ORM框架,如果你用过EF CORE或者DAPPER肯定会为功能缺失而无奈,该有的功能没有,花里胡哨的一大堆。如果你用SqlSugar, 会给你一个不错的选择, 不断给你惊喜。

特色6:无需担心升级

像EF你必须升级.NET版本才能使用最新的功能,而SqlSugar始终支持多个.NET版本。像EF 在 .net framework和.net core就是2套ORM,而SqlSugar始终一致,无需担心升级问题

最爽CRUD

适合Dapper和写Sql的用户

//联表查询var list = db.Queryable<Order>()            .LeftJoin<Custom>   ((o, cus ) => o.CustomId == cus.Id)//多个条件用&&            .LeftJoin<OrderDetail> ((o, cus, oritem) => o.Id == oritem.OrderId)            .Where(o => o.Id == 1)              .Select((o, cus, oritem)=>new DTO{ Id=o.Id ,...})            .ToList();//查询 var list=db.Queryable<Order>().Where(it=>it.Id>0).ToList();           //插入            db.Insertable(insertObj).ExecuteCommand(); //更新db.Updateable(UpdateObj).ExecuteCommand();   //删除db.Deleteable(DeleteObj).ExecuteCommand();

最爽的导航

在关系映射和CURD上做的比EF CORE更加细致并且不需要外键 (适合喜欢用一对多、一对一和多对多的用户)

//全新导航查询  不需要写ThenInclude 直接点出来,比EF Core更加简洁,配置更加简单 var list=db.Queryable<Test>()           .Includes(te => te.Provinces, pro=>pro.Citys ,cit=>cit.Street) //多层级           .Includes(te=> te.ClassInfo)// 一级查询           .ToList();             //全新导航插入 db.InsertNav(list) .Include(z1 => z1.Provinces).ThenInclude(z1 => z1.Citys).ThenInclude(z1 => z1.Street)//多层级 .Include(z1 => z1.Books) //1级 .ExecuteCommand();               //全新导航删除         db.DeleteNav<Student>(it=>it.Id==1)//删除 Student(id=1) .Include(z1 => z1.Provinces).ThenInclude(z1 => z1.Citys).ThenInclude(z1 => z1.Street)//多层级 .Include(z1 => z1.Books) //1级 .ExecuteCommand();     //全新导航更新   db.UpdateNav(list) .Include(z1 => z1.Provinces).ThenInclude(z1 => z1.Citys).ThenInclude(z1 => z1.Street)//多层级 .Include(z1 => z1.Books) //1级 .ExecuteCommand();

具体用法:https://www.donet5.com/Home/Doc?typeId=1188

最爽的写SQL

db.SqlQueryable<Student>("select * from student").OrderBy("id asc").ToPageList(1, 2,ref total)

具体用法:https://www.donet5.com/Home/Doc?typeId=1197

共同学习

虽然SqlSugar 是一款 老牌 .NET开源ORM框架,但我也是刚接触不久,也在学习中。也会根据学习进度分享技术,与大家一起学习交流。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/90250.html

(0)
guozi's avatarguozi
上一篇 2024年6月5日 下午3:19
下一篇 2024年6月5日 下午3:21

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注