【开篇必看】.NET开源 ORM 框架 【SqlSugar系列】
💦1. 什么是ORM?对象-关系映射(,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般
🎀💎🎀 .NET开源 ORM 框架 SqlSugar 系列 🎀💎🎀
- 【开篇】.NET开源 ORM 框架 SqlSugar 系列
- 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
- 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
- 【Db First】.NET开源 ORM 框架 SqlSugar 系列
- 【Code First】.NET开源 ORM 框架 SqlSugar 系列
- 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
- 【连接池】.NET开源 ORM 框架 SqlSugar 系列
- 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
- 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
- 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
- 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
- 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
- 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
- 【子查询】.NET开源 ORM 框架 SqlSugar 系列
- 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列
- 【配置查询】.NET开源 ORM 框架 SqlSugar 系列
- 【并集查询】.NET开源 ORM 框架 SqlSugar 系列
- 【树型查询】.NET开源 ORM 框架 SqlSugar 系列
- 【表格查询】.NET开源 ORM 框架 SqlSugar 系列
- 【动态表达式】.NET开源 ORM 框架 SqlSugar 系列
- 【查询函数】.NET开源ORM框架 SqlSugar 系列
- 【过滤器】.NET开源 ORM 框架 SqlSugar 系列
01. 前言 ☘️
1.1 什么是ORM ❓
🎯对象- 关系映射(Object-Relational Mapping,简称 ORM ),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射( ORM )系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
1.2 为什么使用ORM? 💫
当我们实现一个应用程序时(不使用 O/R Mapping ),我们可能会写特别多数据访问层的代码,从数据库保存、删除、读取对象信息,而这些代码都是重复的。而使用 ORM 则会大大减少重复性代码。
1.3 主流的.NET ORM 框架 🆚
-
SqlSugar:这是一个高性能、轻量级的ORM框架,适用于.NET平台。它支持SqlServer、MySql、PgSql和Oracle等多种数据库,具有灵活的数据迁移和查询功能,支持CodeFirst和DbFirst模式,适用于大数据自处理和多租户场景。
-
Dos.ORM:这是一个国内开发的ORM框架,支持动态列/表、分库/分表等功能。它经过多次迭代更新,支持多种数据库,适用于需要动态数据库操作的场景。
-
Chloe:这是一个轻量级的ORM库,查询接口类似于LINQ,支持通过lambda表达式进行数据操作。它适用于需要轻量级ORM解决方案的项目。
-
Entity Framework (EF):这是微软开发的重量级ORM框架,支持LINQ查询、更改跟踪和架构迁移。EF Core是其跨平台版本,适用于.NET Core项目。
-
NHibernate:这是一个成熟的ORM框架,适用于.NET平台。它支持灵活的映射和多种数据库,提供面向对象的查询语言(HQL)和LINQ查询,适用于复杂项目。
-
Dapper:这是一个高性能的微型ORM框架,适用于.NET平台。它通过扩展方法提供简洁的查询语法,适用于需要快速数据库操作的场景。
-
linq2db:这是一个基于LINQ的数据库访问库,提供简单、轻量、快速的类型安全层。它比微ORM更高一级,适用于需要LINQ表达式的项目。
-
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. 源码和安装 🔑
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 系列 🎀💎🎀
- 【开篇】.NET开源 ORM 框架 SqlSugar 系列
- 【入门必看】.NET开源 ORM 框架 SqlSugar 系列
- 【实体配置】.NET开源 ORM 框架 SqlSugar 系列
- 【Db First】.NET开源 ORM 框架 SqlSugar 系列
- 【Code First】.NET开源 ORM 框架 SqlSugar 系列
- 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
- 【连接池】.NET开源 ORM 框架 SqlSugar 系列
- 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
- 【查询基础】.NET开源 ORM 框架 SqlSugar 系列
- 【排序用法】.NET开源 ORM 框架 SqlSugar 系列
- 【分组去重】.NET开源 ORM 框架 SqlSugar 系列
- 【联表查询】.NET开源 ORM 框架 SqlSugar 系列
- 【导航查询】.NET开源 ORM 框架 SqlSugar 系列
- 【子查询】.NET开源 ORM 框架 SqlSugar 系列
- 【嵌套查询】.NET开源 ORM 框架 SqlSugar 系列
- 【配置查询】.NET开源 ORM 框架 SqlSugar 系列
- 【并集查询】.NET开源 ORM 框架 SqlSugar 系列
- 【树型查询】.NET开源 ORM 框架 SqlSugar 系列
- 【表格查询】.NET开源 ORM 框架 SqlSugar 系列
- 【动态表达式】.NET开源 ORM 框架 SqlSugar 系列
- 【查询函数】.NET开源ORM框架 SqlSugar 系列
- 【过滤器】.NET开源 ORM 框架 SqlSugar 系列
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)