🎀💎🎀 .NET开源 ORM 框架 SqlSugar 系列 🎀💎🎀

  1. 【开篇】.NET开源 ORM 框架 SqlSugar 系列
  2. 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
  3. 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
  4. 【Db First】.NET开源 ORM 框架 SqlSugar 系列
  5. 【Code First】.NET开源 ORM 框架 SqlSugar 系列
  6. 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
  7. 【连接池】.NET开源 ORM 框架 SqlSugar 系列
  8. 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
  9. 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
  10. 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
  11. 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
  12. 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
  13. 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
  14. 【子查询】.NET开源 ORM 框架 SqlSugar 系列
  15. 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列
  16. 【配置查询】.NET开源 ORM 框架 SqlSugar 系列
  17. 【并集查询】.NET开源 ORM 框架 SqlSugar 系列
  18. 【树型查询】.NET开源 ORM 框架 SqlSugar 系列
  19. 【表格查询】.NET开源 ORM 框架 SqlSugar 系列
  20. 【动态表达式】.NET开源 ORM 框架 SqlSugar 系列
  21. 【查询函数】.NET开源ORM框架 SqlSugar 系列
  22. 【过滤器】.NET开源 ORM 框架 SqlSugar 系列

01. 前言 ☘️ 

1.1 什么是ORM 

🎯对象- 关系映射(Object-Relational Mapping,简称 ORM ),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射( ORM )系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。

1.2 为什么使用ORM? 💫

当我们实现一个应用程序时(不使用 O/R Mapping ),我们可能会写特别多数据访问层的代码,从数据库保存、删除、读取对象信息,而这些代码都是重复的。而使用 ORM 则会大大减少重复性代码。 

1.3 主流的.NET ORM 框架 🆚

  1. SqlSugar‌:这是一个高性能、轻量级的ORM框架,适用于.NET平台。它支持SqlServer、MySql、PgSql和Oracle等多种数据库,具有灵活的数据迁移和查询功能,支持CodeFirst和DbFirst模式,适用于大数据自处理和多租户场景。

  2. Dos.ORM‌:这是一个国内开发的ORM框架,支持动态列/表、分库/分表等功能。它经过多次迭代更新,支持多种数据库,适用于需要动态数据库操作的场景。

  3. Chloe‌:这是一个轻量级的ORM库,查询接口类似于LINQ,支持通过lambda表达式进行数据操作。它适用于需要轻量级ORM解决方案的项目。

  4. Entity Framework (EF)‌:这是微软开发的重量级ORM框架,支持LINQ查询、更改跟踪和架构迁移。EF Core是其跨平台版本,适用于.NET Core项目。

  5. NHibernate‌:这是一个成熟的ORM框架,适用于.NET平台。它支持灵活的映射和多种数据库,提供面向对象的查询语言(HQL)和LINQ查询,适用于复杂项目。

  6. Dapper‌:这是一个高性能的微型ORM框架,适用于.NET平台。它通过扩展方法提供简洁的查询语法,适用于需要快速数据库操作的场景。

  7. linq2db‌:这是一个基于LINQ的数据库访问库,提供简单、轻量、快速的类型安全层。它比微ORM更高一级,适用于需要LINQ表达式的项目。

  8. ServiceStack.OrmLite‌:这是一个简单的快速类型化ORM框架,适用于需要快速开发的项目。

1.4 使用心得 💞

上面几款我多多少少都用过,优缺点自不必多说,总有一款适合你。但感觉目前我用的最多的就是 SqlSugar 了,所以有必要搞个专栏一起学习学习。

🎖️总之,学会一门后端 ORM 框架,你就不用局限于任何一门数据库的束缚了。

02. 框架简介 🔥 

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

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

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

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

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

2.1 功能目录 📜 

 🔸真正可以实现 零SQL 的ORM 建表、索引和 CRUD 全部支持

 🔸支持 .NET 百万级 大数据写入、更新、分表和拥有 几十亿 查询统计成熟解决方案

 🔸支持 SAAS 完整应用 :跨库查询 、审计、租户分库 、租户分表 和 租户数据隔离

 🔸支持 低代码+工作流  (动态建类 、动态建表、无实体多库兼容CRUD 、 JSON TO SQL 、自定义XML等)

 🔸支持 ValueObject、鉴别器、仓储、UnitOfWork、DbContext、AOP 

 🔸支持 DbFirst 、 CodeFirst 和 WebFirst 3种模式开发

 🔸简单易用、功能齐全、高性能、轻量级、服务齐全、官网教程文档、有专业技术支持一天18小时服务

8.  完美支持 AOT 多种数据库

03. 数据库支持 ✔️

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

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

关系型数据库

MySql、SqlServer、Sqlite、Oracle 、 postgresql、达梦、

人大金仓(合作关系)、海量数据库Vastbase(合作关系)、神通数据库、瀚高、Access 、OceanBase、虚谷数据库、 MySqlConnector、华为 GaussDB 、南大通用gbase8s、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年9月

Sybase、hana、FireBird、InfluxDB

litedb、 ElasticSearch

04. 源码和安装 🔑

Github源码 https://github.com/donet5/SqlSugar 
Gitee源码 SqlSugar ORM: 🔥🔥🔥此ORM是一款创业神器【支持几十种数据库】+【只需一套代码】+【真正强类型零SQL超爽】+【低代码支持】+【建库和表】+【多租户】+【跨库】+【分表】+【MIT协议】 支持库有:MySql SqlServer Postgresql Oracle Sqlite ClickHouse GaussDB TDengine OceanBase OpenGauss Tidb 达梦、人大金仓等
开源生态 .NET 主流开源项目案例 - SqlSugar 5x - .NET果糖网
Nuget 安装 Nuget - SqlSugar 5x - .NET果糖网
AOT SqlSugar AOT 教程 - SqlSugar 5x - .NET果糖网
 

05. 框架特色 🎖️

5.1 超级简单 

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

5.2 产品必备  

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

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

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

5.3 超高性能  

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

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

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

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

5.4 无限潜力 

任何开源都离不开活跃的社区,社区越活跃未来发展将越好,目前 SqlSugar 拥有.NET单个开源项目最活跃的社区之一。

并且当天解决率为80%,开源界最勤劳的小蜜蜂 ,每天都在和用户互动,已经形成了良性循环。

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

5.5 超前理念

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

5.6 升级无忧

✅ 像EF 你必须升级 .NET 版本才能使用最新的功能,而 SqlSugar 始终支持多个.NET版本 。

✅ 像 EF 在 .net framework 和 .net core 就是 2 套ORM,而 SqlSugar 始终一致,无需担心升级问题 。

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


 


  🎀💎🎀 .NET开源 ORM 框架 SqlSugar 系列 🎀💎🎀

  1. 【开篇】.NET开源 ORM 框架 SqlSugar 系列
  2. 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
  3. 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
  4. 【Db First】.NET开源 ORM 框架 SqlSugar 系列
  5. 【Code First】.NET开源 ORM 框架 SqlSugar 系列
  6. 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
  7. 【连接池】.NET开源 ORM 框架 SqlSugar 系列
  8. 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
  9. 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
  10. 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
  11. 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
  12. 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
  13. 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
  14. 【子查询】.NET开源 ORM 框架 SqlSugar 系列
  15. 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列
  16. 【配置查询】.NET开源 ORM 框架 SqlSugar 系列
  17. 【并集查询】.NET开源 ORM 框架 SqlSugar 系列
  18. 【树型查询】.NET开源 ORM 框架 SqlSugar 系列
  19. 【表格查询】.NET开源 ORM 框架 SqlSugar 系列
  20. 【动态表达式】.NET开源 ORM 框架 SqlSugar 系列
  21. 【查询函数】.NET开源ORM框架 SqlSugar 系列
  22. 【过滤器】.NET开源 ORM 框架 SqlSugar 系列
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐