SqlSugar .Net ORM 5.X 官网 、文档、教程

框架简介

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

优点 :【生态丰富】【高性能】【超简单】 【功能全面】 【多库兼容】【适合产品】 【SqlSugar视频教程】

支持 : .net framework .net core3.1 .ne5 .net6 .net7 .net8 .net9

特色 : 拥有全球最活跃的ORM线上论坛,比EF还要活跃,交流群人数已超过万人 ,技术支持快,口碑好。

开源 :10年开源信誉值得信赖,从不搞收费,文档也全免费

.NET开源ORM框架SqlSugar官网 、文档、教程_EF

 3秒入门DEMO.zip

功能目录

\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),缺点大小写必须和库一样,不支持事务)

即将上线

Mongodb(mongodb.entities)延期24年7月Sybase、hana、FireBird、InfluxDBlitedb、 ElasticSearch

源码和安装

特色1:超级简单

在不用任何设计模式,任何框架的情况下都可以拥有最佳体验,SqlSugar做到了保姆一样的服务,直接用不需要学习

的框架,各种默认值都是最佳配置,用到什么看一下文档便可。

特色2:产品必备

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

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

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

客户评价:

.NET开源ORM框架SqlSugar官网 、文档、教程_开源_02

特色3:超高性能

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

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

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

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

.NET开源ORM框架SqlSugar官网 、文档、教程_数据库_03

 SqlSugarVsEfCore.rar sqlsugar对比efcore sqlserve

.NET开源ORM框架SqlSugar官网 、文档、教程_.net_04

 MySql_SqlSugarVSEFCore.zip sqlsugar对比efcore mysql

特色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始终一致,无需担心升级问题

SqlSugar对低版数据库支持友好,而EF对低版本数据库支持不友好

教学视频

入门教程:  https://www.bilibili.com/video/BV1sb411o7Kc/?spm_id_from=333.337

深入教程:  https://www.bilibili.com/video/BV1uj411g7TW

自动分表

是ORM中唯一支持自动分表的ORM框架,.NET中并无相关框架,使用SqlSugar分表可以轻松处理产品历史数据, 日志,提高性能,对于上亿的流水数据分表是不错的选择

用法: https://www.donet5.com/Home/Doc?typeId=1201

百万级写入

大数据处理最强解决方案,能支持百万级别的插入或者更新

用法: https://www.donet5.com/Home/Doc?typeId=2404

最爽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();
  • 1.

最爽的导航

在关系映射和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();
  • 1.

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

最爽的写SQL

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

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

基础性能

注意:这是老版本EF Core ,EF Core新版本性能也许提升了

.NET开源ORM框架SqlSugar官网 、文档、教程_开源_05

 SqlSugarVsEfCore.rar sqlsugar对比efcore sqlserver 性能提升50%

.NET开源ORM框架SqlSugar官网 、文档、教程_数据库_06

 MySql_SqlSugarVSEFCore.zip sqlsugar对比efcore mysql性能提高有30%

SqlSugar VS Dapper 无论在性能还是在功能上都全面压制 Dapper ,虽然基础性能和Sugar打平手,但是批量操作 Dapper完全不行

SqlSugar VS EF ,SqlSugar小巧并且功能齐全,最重要的是上手容易,学习成本低 ,性能高于EF框架

每次查询10万条记录,2种模式都快于EFCore 4倍

.NET开源ORM框架SqlSugar官网 、文档、教程_EF_07

根据主键查询,SqlSugarClient明显快(SqlSugarScope略快)

.NET开源ORM框架SqlSugar官网 、文档、教程_数据库_08

分页查询 ,SqlSugarClient明显快(SqlSugarScope略快)

.NET开源ORM框架SqlSugar官网 、文档、教程_EF_09