ORM框架——SqlSugar

article/2025/10/19 7:58:05

目录

一、ORM框架

二、SqlSugar现状

三、SqlSugar的优点

四、SqlSugar的使用

五、主要函数

六、传参

五、读写分离


一、ORM框架

常用的ORM框架有Dapper、EF/EF Core、FreeSql、Dos.ORM、SqlSugar等,SqlSugar是国产的

二、SqlSugar现状

SqlSugar ORM 5.X 官网 、文档、教程 - SqlSugar 5x - .NET果糖网 (donet5.com)

这个是官网,是果糖网维护和更新的,下面是来自官网的一段SqlSugar的功能介绍

三、SqlSugar的优点

高性能 ,不夸张的说,去掉Sql在数据库执行的时间,SqlSugar是EF数倍性能,另外在批量操作和一对多查询上也有不错的SQL优化

高扩展性 ,支持自定义拉姆达函数解析、扩展数据类型、支持自定义实体特性,外部缓存等

稳定性和技术支持,  虽然不是官方ORM, 但在稳定性上也是有着数年用户积累,如果遇到问题可以在GITHUB提出来,会根据紧急度定期解决

功能全面,虽然SqlSugar小巧可功能并不逊色于EF框架

创新、持续更新 ,向下兼容

四、SqlSugar的使用

先用Nuget引用程序集(SqlSugarCore)

 DBFirst——数据库生成实体对象——代码生成器的功能

五、主要函数

public static ConnectionConfig BuildConnConfig(dynamic configId, DbType dbType, string connectionString){return new ConnectionConfig(){ConfigId = configId,DbType = dbType,                //数据库类型ConnectionString = connectionString,//连接字符串IsAutoCloseConnection = true,   //自动释放和关闭数据库连接,如果有事务事务结束时关闭,否则每次操作后关闭//是否自动释放数据库(默认false),设为true我们不需要close或者Using的操作,比较推荐MoreSettings = new ConnMoreSettings()//更多设置{IsWithNoLockQuery = true     //为true表示可以自动删除二级缓存},//InitKeyType = InitKeyType.Attribute,//默认就是这个,从实体特性中读取主键自增列信息,初始化主键和自增列信息到ORM的方式AopEvents = new AopEvents   //调试SQL事件,可以删掉{OnLogExecuting = (sql, p) =>{p.ToDictionary(it => it.ParameterName, it => it.Value);System.Diagnostics.Trace.WriteLine(sql);System.Diagnostics.Trace.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value)));}}};}

六、传参

在一个json文件中配置好了数据库的参数,到时候直接读取json,并转换成一个实体类的对象

五、读写分离

SqlSugar是通过Queryable、Updateable、Deleteable和Insertable实现的增删改查。 SqlSugar底层还是执行的SQL语句。数据库和数据库中的表都不需要提前创建,SqlSugar可以帮助我们创建数据库和表

执行上面这两代码SqlSugar就会自动创建数据库和表。这段代码一般只执行一次,创建完成就注释,避免重复执行,影响程序执行效率。


http://chatgpt.dhexx.cn/article/WWEXC4ut.shtml

相关文章

很多小伙伴不太了解ORM框架的底层原理,这不,冰河带你10分钟手撸一个极简版ORM框架(赶快收藏吧)

大家好,我是冰河~~ 最近很多小伙伴对ORM框架的实现很感兴趣,不少读者在冰河的微信上问:冰河,你知道ORM框架是如何实现的吗?比如像MyBatis和Hibernate这种ORM框架,它们是如何实现的呢? 为了能够…

.Net Core ORM 框架

我的.net core orm 框架 一个简单的orm框架支持的数据库版本新的版本项目地址使用方式实现方式高级特性扩展函数性能bug 一个简单的orm框架 作者在使用很多orm框架的时候觉得查询语句写法似乎不是很好用,例如sqlSugar,EF,sqlSugar呢链接的时候必须注意表的别称&…

SQLAlchemy ORM框架

ORM简介 ORM 全称 Object Relational Mapping, 叫对象关系映射。简单的说,ORM 将数据库中的表与面向对象语言中的类建立了一种对应关系。这样,我们要操作数据库,数据库中的表或者表中的一条记录就可以直接通过操作类或者类实例来完成。 对于…

ORM框架

ORM框架 一、什么是ORM框架 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术 ORM框架是连接数据库的桥梁,只要提供了持久化类与表的映射关系,OR…

ORM框架使用优缺点

1. 什么是ORM? 对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业…

Redis I/O 多路复用

引出IO多路复用 为什么 Redis 中要使用 I/O 多路复用这种技术呢? 首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户输入或输出都是阻塞的,所以 I/O 操作在一般情况下往往不能…

IO多路复用—由Redis的IO多路复用yinch

linux IO多路复用有epoll, poll, select,epoll性能比其他几者要好。 名词比较绕口,理解涵义就好。一个epoll场景:一个酒吧服务员(一个线程),前面趴了一群醉汉,突然一个吼一声“倒酒”…

什么是IO多路复用?用来解决什么问题?如何实现?

白话IO多路复用 这里引述知乎大佬对于IO多路复用的机场空管的比喻和理解: 假设你是一个机场的空管, 你需要管理到你机场的所有的航线, 包括进港,出港, 有些航班需要放到停机坪等待,有些航班需要去登机口接…

I/O多路复用

https://blog.csdn.net/baixiaoshi/article/details/48708347 https://blog.csdn.net/z69183787/article/details/52943917 select,poll,epoll都是IO多路复用的机制。所谓I/O多路复用机制,就是说通过一种机制,可以监视多个描述符…

概念 多路复用 到底是个啥?通俗易懂的理解

前言:教育的公平才是最大的公平,本科和专科还是有点差别的。时间长点学方面会充实些。 先给个结论:I/O多路复用技术(就是大家经常说的事件循环)实际上,事件驱动模型还有另外一个名字,而且更加出…

Redis的IO多路复用原理

什么是阻塞,非阻塞,异步同步,select,poll,epoll?今天我们用一遍文章解开这多年的迷惑。 首先我们想要通过网络接收消息,是这样的一个步骤。 用户空间向内核空间请求网络数据内核空间把网卡数据…

什么是IO多路复用,理解IO多路复用

什么是IO多路复用? IO 多路复用是一种同步IO模型,实现一个线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;没有文件句柄就绪就会阻塞应用程序,交出CPU。 多路是指网…

多路复用与多路分用

从现在开始,我们开始传输层的学习,自顶向下第六版中改成了运输层,感觉怪怪的 书中打了邮政服务和代收发信件的兄弟姐妹之间的比方,非常贴切,这是传输层和网络层的作用区别,也就是说,传输层管的是…

多路复用(

apue 多路复用 需求来自用户,用户的需求来自实际的使用场景。在实际运用中,一个系统或者程序需要处理的事件并不是只有一个或一类,而是存在各种各样的事件在一小段事件内一起发生,此时按照没学多线程的逻辑的处理方式就是这样&…

多路复用

讲多路复用先我觉得有必要讲一下什么是阻塞IO、非阻塞IO、同步IO、异步IO这几个东西;linux的五种IO模型: 1)阻塞I/O(blocking I/O) 2)非阻塞I/O(nonblocking I/O) 3) I/O复用(select和poll)(…

io多路复用的原理和实现_IO多路复用机制详解

select,poll,epoll机制区别总结: 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是…

【多路复用器介绍】

【多路复用器介绍】意义 作用 实现 意义逻辑电路原理结构与真值表逻辑电路 实现代码参考资料 意义 多路复用器将接收的复合数据流,依照信道分离数据,并将它们送到对应的输出线上,故称为解多路复用器。 实际生活中,使用多路复用器…

多路复用技术(频分多路复用、时分多路复用和波分多路复用)

基带信号就是将数字信号1或0直接用两种不同的电压来表示,然后送到线路上去传输。 宽带信号则是将基带信号进行调制后形成的频分复用模拟信号。 多路复用技术的基本原理是:各路信号在进入同一个有线的或无线的传输媒质之前,先采用调制技术把…

8、多路复用技术

这一节,我们介绍信道的多路复用,作为数据通信基础的收尾知识点,这个知识点并没有特别复杂的地方,主要是理解不同的复用技术的特点,在一些考试中也没有多少考点,或者说不做重点。 多路复用技术 先从字面上来…

TCP/IP多路复用

所有网络通信的本质目标就是进程间通信。 除了寻址(Addressing),IP 协议还有一个非常重要的能力就是路由。 寻址告诉我们去往下一个目的地该朝哪个方向走,路由则是根据下一个目的地选择路径。寻址更像在导航,路由更像…