SqlSugar 5.X API

使用SqlSugar非常简单,而且功能强大。

SqlSugar=一个对象+一个参数=16个函数,

支持数据库:MySql、SqlServer、Sqlite、Oracle 、 postgresql

SqlSugar 16个功能

创建SqlSugarClient

所有操作都基于SqlSugarClient

SqlSugarClient参数,只有一个ConnectionConfig

public  List<Student> GetStudentList()
{var db= GetInstance();var list= db.Queryable<Student>().ToList();//Searchreturn list;
}/// <summary>
/// Create SqlSugarClient
/// </summary>
/// <returns></returns>
private SqlSugarClient GetInstance()
{SqlSugarClient db = new SqlSugarClient(new ConnectionConfig(){ConnectionString = "Server=.xxxxx",DbType = DbType.SqlServer,IsAutoCloseConnection = true,InitKeyType = InitKeyType.Attribute});//Print sqldb.Aop.OnLogExecuting = (sql, pars) =>{Console.WriteLine(sql + "\r\n" + db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));Console.WriteLine();};return db;
}public class Student
{[SugarColumn(IsPrimaryKey = true, IsIdentity = true]public int Id { get; set; }public int? SchoolId { get; set; }public string Name { get; set; }
}

View more >>

1、查询方法

下面简单案例

//easy
var getAll = db.Queryable<Student>().ToList();
var getAllNoLock = db.Queryable<Student>().With(SqlWith.NoLock).ToList();
var getByPrimaryKey = db.Queryable<Student>().InSingle(2);
var sum = db.Queryable<Student>().Sum(it=>it.Id);
var isAny = db.Queryable<Student>().Where(it=>it.Id==-1).Any();
var isAny2 = db.Queryable<Student>().Any(it => it.Id == -1);
var getListByRename = db.Queryable<School>().AS("Student").ToList();
var getByWhere = db.Queryable<Student>().Where(it => it.Id == 1 || it.Name == "a").ToList();
var getByFuns = db.Queryable<Student>().Where(it => SqlFunc.IsNullOrEmpty(it.Name)).ToList();
var group = db.Queryable<Student>().GroupBy(it => it.Id).Select(it =>new { id = SqlFunc.AggregateCount(it.Id) }).ToList();//Page
var page = db.Queryable<Student>().ToPageList(pageIndex, pageSize, ref totalCount);//page join
var pageJoin = db.Queryable<Student, School>((st, sc) =>new JoinQueryInfos(JoinType.Left,st.SchoolId==sc.Id))
.ToPageList(pageIndex, pageSize, ref totalCount);//top 5
var top5 = db.Queryable<Student>().Take(5).ToList();//join Order By (order by st.id desc,sc.id desc)
var list4 = db.Queryable<Student, School>((st, sc) =>new  JoinQueryInfos(JoinType.Left,st.SchoolId==sc.Id))
.OrderBy(st=>st.Id,OrderByType.Desc)
.OrderBy((st,sc)=>sc.Id,OrderByType.Desc)
.Select<ViewModelStudent>().ToList();

View more >>

2、更新方法

//update reutrn Update Count
var t1= db.Updateable(updateObj).ExecuteCommand();//Only  update  Name
var t3 = db.Updateable(updateObj).UpdateColumns(it => new { it.Name }).ExecuteCommand();//Ignore  Name and TestId
var t4 = db.Updateable(updateObj).IgnoreColumns(it => new { it.Name, it.TestId }).ExecuteCommand();//update List<T>
var t7 = db.Updateable(updateObjs).ExecuteCommand();//Where By Expression
var t9 = db.Updateable(it=>new class() { name="a",createtime=p }).Where(it => it.Id == 1).ExecuteCommand();

View more >>

3、新增方法

//Insert reutrn Insert Count
var t2 = db.Insertable(insertObj).ExecuteCommand();//Insert reutrn Identity Value
var t3 = db.Insertable(insertObj).ExecuteReutrnIdentity();//Only  insert  Name
var t4 = db.Insertable(insertObj).InsertColumns(it => new { it.Name,it.SchoolId }).ExecuteReutrnIdentity();//Ignore TestId
var t5 = db.Insertable(insertObj).IgnoreColumns(it => new { it.Name, it.TestId }).ExecuteReutrnIdentity();//Insert List<T>
var s9 = db.Insertable(insertObjs).InsertColumns(it => new { it.Name }).ExecuteCommand();

View more >>

4、删除方法

//by entity
db.Deleteable<Student>().Where(new Student() { Id = 1 }).ExecuteCommand();//by primary key
db.Deleteable<Student>().In(1).ExecuteCommand();//by primary key array
db.Deleteable<Student>().In(new int[] { 1, 2 }).ExecuteCommand();//by expression
db.Deleteable<Student>().Where(it => it.Id == 1).ExecuteCommand();

5、SQL 语句查询方法

var list = db.SqlQueryable<Student>("select * from student").ToPageList(1, 2);
var list2 = db.SqlQueryable<Student>("select * from student").Where(it=>it.Id==1).ToPageList(1, 2);
var list3= db.SqlQueryable<Student>("select * from student").Where("id=@id",new { id=1}).ToPageList(1, 2);

View more >>

5、保存顺序

var db = GetInstance();
db.Insertable<Student>(new Student() { Name = "a" }).AddQueue();
db.Insertable<Student>(new Student() { Name = "b" }).AddQueue();
db.SaveQueues(); db.Insertable<Student>(new Student() { Name = "a" }).AddQueue();
db.Insertable<Student>(new Student() { Name = "b" }).AddQueue();
db.Insertable<Student>(new Student() { Name = "c" }).AddQueue();
db.Insertable<Student>(new Student() { Name = "d" }).AddQueue();
var ar = db.SaveQueuesAsync(); db.Queryable<Student>().AddQueue();
db.Queryable<School>().AddQueue();
db.AddQueue("select * from student where id=@id", new { id = 1 });
var result2 = db.SaveQueues<Student, School, Student>();  

View more >>

Code generator

https://github.com/sunkaixuan/SoEasyPlatform

More APi 中文文档:

http://www.codeisbug.com/Doc/8

转载:https://gitee.com/sunkaixuan/SqlSugar

C# .NET ORM 框架 SqlSugar 5.X 版本相关推荐

  1. .Net开源SqlServer ORM框架SqlSugar整理

    一.链接整理 官方Git源代码地址: https://github.com/sunkaixuan/SqlSugar 最新发布版更新地址:当前版本Release 3.5.2.1 https://gith ...

  2. 简单易用的开源ORM框架SqlSugar v5.0.0.19源码

    介绍: SqlSugar是一款简单易用的开源ORM框架. 框架优点: 简单易用.功能齐全.高性能.轻量级.服务齐全 支持数据库:MySql.SqlServer.Sqlite.Oracle.postgr ...

  3. ORM框架——SqlSugar

    目录 一.ORM框架 二.SqlSugar现状 三.SqlSugar的优点 四.SqlSugar的使用 五.主要函数 六.传参 五.读写分离 一.ORM框架 常用的ORM框架有Dapper.EF/EF ...

  4. 推荐一款绝对不能错过的 ORM 框架 dbVisitor,目前版本 4.3.0

    介绍 dbVisitor(原HasorDB) 是一个全功能数据库访问工具,提供对象映射.丰富的类型处理.动态SQL.存储过程. 内置分页方言20+. 支持嵌套事务.多数据源.条件构造器.INSERT ...

  5. SqlSugar 4.0 ORM框架的优势

    为了未来能够更好的支持多库分布式的存储,并行计算等功能,将SqlSugar3.x全部重写,现有的架构可以轻松扩展多库. 源码下载: GitHub - donet5/SqlSugar: Best ORM ...

  6. mysql .net orm_目前的.NET(C#)世界里,主流的ORM框架

    推荐一些常用的asp.net ORM框架 SqlSugar SqlSugar是国人开发者开发的一款基于.NET的ORM框架,是可以运行在.NET 4.+ & .NET CORE的高性能.轻量级 ...

  7. EF、Chloe、SqlSugar、DOS.ORM四种ORM框架的对比

    文章目录 四种orm框架的对比 1.什么是ORM? 2.四种框架的基本信息对比如下表: 3.四种框架的耗时情况如下: 4.四种框架都支持哪些功能? 5.就个人使用而言,比较推荐哪个框架? 6.SqlS ...

  8. .NET(C#)有哪些主流的ORM框架,FreeSql,SqlSugar,Dapper,EF还是...

    前言 在以前的一篇文章中,为大家分享了<什么是ORM?为什么用ORM?浅析ORM的使用及利弊>.那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,FreeSql,SqlSugar ...

  9. dapperpoco mysql_.NET(C#)有哪些主流的ORM框架,SqlSugar,Dapper,EF还是...

    前言 在以前的一篇文章中,为大家分享了<什么是ORM?为什么用ORM?浅析ORM的使用及利弊>.那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,SqlSugar,Dapper, ...

最新文章

  1. java编写交通灯思路
  2. NetBeans 时事通讯(刊号 # 43 - Feb 03, 2009)
  3. esper(4-3)-Non-Overlapping Context
  4. MyEclipse 的 TCP/IP Monitor 的使用
  5. java web高级编程 百度网盘_[有书共享]JavaWeb高级编程
  6. 怎么用vc采集ni卡数据_作家型INFJ的N灵感采集 | INFJ自我成长
  7. Hive 之 排序和reduce设置
  8. 滴滴自研分布式NoSQL数据库Fusion的演进之路
  9. abbyyfinereader文字识别软件编辑Pdf教程序列号教程
  10. cell和battery的区别
  11. win服务器系统无法切换输入法,win8系统中文输入法切换不出来
  12. 江苏省专转本计算机专业大类《计算机基础理论 1.2(二)小节习题答案》
  13. 对话框(06):【类】QFontDialog [官翻]
  14. excel多表合并为一个表
  15. 由于高精度事件计时器(HPET)驱动过时导致AMD机器装Win10的卡死蓝屏问题记录
  16. c语言中优先级劣后级,基金优先级与劣后级之间的区别是什么?
  17. 深度系统对电脑配置要求
  18. Hadoop Join性能优化
  19. 2021中国一流大学名单(30所)和中国大学综合实力700强出炉!
  20. 黑苹果下idea启动项目慢

热门文章

  1. Android IOS WebRTC 音视频开发总结(三六)-- easyRTC介绍
  2. 谈谈MVC项目中的缓存功能设计的相关问题
  3. .Net 4.0 之 Dynamic 动态类型
  4. 《深度学习》李宏毅 -- task2 回归
  5. 大数据分析平台的作用有什么
  6. 数据可视化工具的意义有哪些
  7. 大数据分析平台具有哪些价值
  8. 大数据平台有什么功能作用
  9. AcWing 4247. 糖果(差分约束最短路)
  10. 修改CDH的HostName和IP