前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# SqlSugar框架的学习使用(一)--SqlSugar简介及创建

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

作者头像
Vaccae
发布2019-08-03 10:57:22
31.5K0
发布2019-08-03 10:57:22
举报
文章被收录于专栏:微卡智享微卡智享

前言

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

SqlSugar介绍

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

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

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

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

SqlSugar的16大功能

SqlSugar查询特色

SqlSugar的优点

  • 高性能 ,不夸张的说,去掉Sql在数据库执行的时间,SqlSugar是EF数倍性能,另外在批量操作和一对多查询上也有不错的SQL优化
  • 高扩展性 ,支持自定义拉姆达函数解析、扩展数据类型、支持自定义实体特性,外部缓存等
  • 稳定性和技术支持, 虽然不是官方ORM, 但在稳定性上也是有着数年用户积累,如果遇到问题可以在GITHUB提出来,会根据紧急度定期解决
  • 功能全面,虽然SqlSugar小巧可功能并不逊色于EF框架
  • 创新、持续更新 ,向下兼容

SqlSugar项目创建

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

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

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

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

SqlSugar的简单用法

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

实体类用法

代码语言:javascript
复制
//如果实体类名称和表名不一致可以加上SugarTable特性指定表名[SugarTable("Student")]public class StudentModel{    //指定主键和自增列,当然数据库中也要设置主键和自增列才会有效    [SugarColumn(IsPrimaryKey=true,IsIdentity =true)]    public int Id { get; set; }    public string Name { get; set; }}

根据实体类创建表

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

总结:

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

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

-END-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档