sqlsugar对mysql效率高_高性能ORM 框架之 MySqlSugar

MySqlSugar 1.5 API

一、介简

SqlSugar ORM框架一直在升级当中,昨天将EMIT架构进行了重构,让类型转换更加智能,EMIT转换后的性能和原生ADO同水准(以前只是接近),为了提高性能、稳定、有问必答、有需求必改、坚持更新。例如数据库类型为BIT我们在程序里面可以使用 INT接收也可以用BOOL接收,不影响一丝性能,这些都是SQLSUGAR以前没有的功能。

经过一天的努力,MySql版本所有的例子都已经测试通过:

MySql .NET 4.0+

MySql .NET CORE

下周更新

MSQL .NET 4.0+下载地址:

MSSQL .NET Core版本

优点:

1、优越的性能,查询使用  reflection.emit 创建IL语言+委托绑定 然后对该对象进行 cache ,datareader直接赋值给cache对象,高性能拉姆达解析,查询速度达到原生最高性能的写法水准

2、大量语法糖,拉姆达表达示筛选,新颖的多表查询 ,方便的分页等

3、支持事务

4、内置实体类生成函数,无需使用第三方代码生成器

5、简单好用、例子齐全有问必答。

组成:

sqlSugar是由sqlSugarClient提供统一调用模式 ,sqlSugarClient是由5个部分组成

1、自身函数

2、实体生成

3、单表查询

4、多表查询

5、基类函数

MySql教程

和MSSQL版本基本一样但是个别例子也会有些细节上的区别

一、查询

1、拉姆达查询(以后会支持多表JOIN)

语法简洁和EF相似,但有区别的SqlSugar更适合字符串操作,例如Where("Id>@id",new{id=1})

//针对单表或者视图查询

var dt= db.GetDataTable("select * from Student");//查询所有

var student = db.Queryable().ToList();var studentDynamic = db.Queryable().ToDynamic();var studentJson = db.Queryable().ToJson();//查询单条

var single = db.Queryable().Single(c => c.id == 1);//查询单条没有记录返回空对象

var single2 = db.Queryable().Where(c => c.id == 1).SingleOrDefault();//查询第一条

var first = db.Queryable().Where(c => c.id == 1).First();var first2 = db.Queryable().Where(c => c.id == 1).FirstOrDefault();//取10-20条

var page1 = db.Queryable().Where(c => c.id > 2).OrderBy(it=>it.id).Skip(2).Take(3).ToList();//上一句的简化写法,同样取10-20条

var page2 = db.Queryable().Where(c => c.id > 1).OrderBy(it => it.id).ToPageList(2, 3);//查询条数

var count = db.Queryable().Where(c => c.id > 10).Count();//从第2条开始以后取所有

var skip = db.Queryable().Where(c => c.id > 10).OrderBy(it => it.id).Skip(2).ToList();//取前2条

var take = db.Queryable().Where(c => c.id > 10).OrderBy(it => it.id).Take(2).ToList();//Not like

string conval = "三";var notLike = db.Queryable().Where(c => !c.name.Contains(conval.ToString())).ToList();//Like

conval = "三";var like = db.Queryable().Where(c =>c.name.Contains(conval)).ToList();//可以在拉姆达使用 ToString和 Convert,比EF出色的地方

var convert1 = db.Queryable().Where(c => c.name == "a".ToString()).ToList();var convert2 = db.Queryable().Where(c => c.id == Convert.ToInt32("1")).ToList();//

var convert3 = db.Queryable().Where(c => DateTime.Now > Convert.ToDateTime("2015-1-1")).ToList();var convert4 = db.Queryable().Where(c => DateTime.Now >DateTime.Now).ToList();//支持字符串Where 让你解决,更复杂的查询

var student12 = db.Queryable().Where(c => "a" == "a").Where("id>100").ToList();var student13 = db.Queryable().Where(c => "a" == "a").Where("id>100 and id in( select 1)").ToList();//存在记录反回true,则否返回false

bool isAny100 = db.Queryable().Any(c => c.id == 100);bool isAny1 = db.Queryable().Any(c => c.id == 1);int maxId = db.Queryable().Max("id");int minId = db.Queryable().Where(c => c.id > 0).Min("id");//order By

var orderList = db.Queryable().OrderBy("id desc,name asc").ToList();//字符串支持多个排序//可以多个order by表达示

var order2List = db.Queryable().OrderBy(it => it.name).

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值