目录
一、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就会自动创建数据库和表。这段代码一般只执行一次,创建完成就注释,避免重复执行,影响程序执行效率。