当前位置:   article > 正文

C# SqlSugar框架的学习使用(一)--SqlSugar简介及创建

sqlsugar

前言

最近有个开发项目准备启动,由于要求的开发周期较短,所以准备用个C#的框架,原本最初考虑用成熟的EF框架,但是觉得那个框架也太重了,就在网上找找了别的,无意间发现了SqlSugar的框架。简单试了下,发现真是的方便,入门也简单。

SqlSugar介绍

SqlSugar ORM,NET 4.+ & .NET CORE 高性能轻量级ORM框架,众多.NET框架中最容易使用的数据库访问技术。

主页:http://www.codeisbug.com/

下载地址:https://github.com/sunkaixuan/SqlSugar

当然也可以直接用Nuget安装,非常方便。

SqlSugar的16大功能

format,png

SqlSugar查询特色

format,png

SqlSugar的优点

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

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

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

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

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

SqlSugar项目创建

我们打开VS2017,新建一个C#的桌面应用程序,起名为SqlSugarTest

format,png

然后鼠标右键选择引用,选择管理NuGet程序包

format,png

然后点击浏览后输入sqlsugar查找,找到的第一个就是直接点击安装

format,png

安装完后点击已安装,并且点开右边的引用后也可以看到SqlSugar就已经安装好了,如下图

format,png

SqlSugar的简单用法

  1. SqlSugarClient db = new SqlSugarClient(
  2. new ConnectionConfig()
  3. {
  4. ConnectionString = "server=.;uid=sa;pwd=@jhl85661501;database=SqlSugar4XTest",
  5. DbType = DbType.SqlServer,//设置数据库类型
  6. IsAutoCloseConnection = true,//自动释放数据务,如果存在事务,在事务结束后释放
  7. InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息
  8. });
  9. //用来打印Sql方便你调试    
  10. db.Aop.OnLogExecuting = (sql, pars) =>
  11. {
  12. Console.WriteLine(sql + "\r\n" +
  13. db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
  14. Console.WriteLine();
  15. };
  16. /*查询*/
  17. var list = db.Queryable<StudentModel>().ToList();//查询所有
  18. var getById = db.Queryable<StudentModel>().InSingle(1);//根据主键查询
  19. var getByWhere = db.Queryable<StudentModel>().Where(it=>it.Id==1).ToList();//根据条件查询
  20. var total = 0;
  21. var getPage = db.Queryable<StudentModel>().Where(it => it.Id == 1).ToPageList(1,2,ref total);//根据分页查询
  22. //多表查询用法 http://www.codeisbug.com/Doc/8/1124
  23. /*插入*/
  24. var data = new Student() { Name = "jack" };
  25. db.Insertable(data).ExecuteCommand();
  26. //更多插入用法 http://www.codeisbug.com/Doc/8/1130
  27. /*更新*/
  28. var data2 = new Student() { Id =1, Name = "jack" };
  29. db.Updateable(data2).ExecuteCommand();
  30. //更多更新用法 http://www.codeisbug.com/Doc/8/1129
  31. /*删除*/
  32. db.Deleteable<StudentModel>(1).ExecuteCommand();

实体类用法

  1. //如果实体类名称和表名不一致可以加上SugarTable特性指定表名
  2. [SugarTable("Student")]
  3. public class StudentModel
  4. {
  5. //指定主键和自增列,当然数据库中也要设置主键和自增列才会有效
  6. [SugarColumn(IsPrimaryKey=true,IsIdentity =true)]
  7. public int Id { get; set; }
  8. public string Name { get; set; }
  9. }

根据实体类创建表

db.CodeFirst.SetStringDefaultLength(200/*设置varchar默认长度为200*/).InitTables(typeof(StudentModel));//执行完数据库就有这个表了

总结:

SqlSugar是通过Queryable、Updateable、Deleteable和Insertable实现的增删改查。

下一篇我们会根据用刚创建的这个Demo来做一些具体操作。

-END-

Vaccae的往期经典


OpenCV

《C++ OpenCV案例实战---卡号获取

《C++ OpenCV案例实战---卡片截取(附代码)

《C++ OpenCV透视变换---切换手机正面图片》

《C++ OpenCV实战---获取数量

《C++ OpenCV实战---利用颜色分割获取数量》

《OpenCV4Android NDK方式进行Canny边缘检测》

《OpenCV4Android NDK方式TesserartOCR实时进行识别》

《OpenCV4Android NDK级联方式实时进行人脸检测》


Android

《Android利用SurfaceView结合科大讯飞修改语音实别UI

《Android关于语音识别的功能实现分析(一)---结构化思维》

《Android关于语音识别的功能实现分析(二)---语义解析》

《Android根据类生成签名字符串

《Android碎片化布局fragment的实战应用

《Android中RecyclerView嵌套RecyclerView

《Android里用AsyncTask后的接口回调


.Net C#

《C#自定义特性(Attribute)讲解与实际应用

《C#根据类生成签名字符串(附DEMO下载地址)

《C++创建动态库C#调用》

《C#与三菱PLC(型号FX2N)串口通讯类


数据库及其它

《Oracel存储过程写报表实战》

《Delphi轮播视频和图片程序(用于双屏显示程序)

《SQL随机增加销售数据的脚本编写(附脚本下载地址)

SQL Server中With As的介绍与应用(三)--递归的实战应用

《Oracle通过ODBC连接SQL Server数据库

Oracle利用row_number()over()方式解决插入数据时重复键的问题


长按下方二维码关注微卡智享

format,png

 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/134827
推荐阅读
相关标签
  

闽ICP备14008679号