.NET ORM 哪家强
2018-06-22 07:31:09来源:未知 阅读 ()
ORM到底哪家强? 很多人都想知道这个问题,自已也没测试过,只能道听途说。
闲的无聊就将几个ORM拿出来比一比,假如怀疑测试代码有问题可以将它下载下来慢慢研究。
参赛ORM
1、SqlSugar:是一款轻量级的MSSQL ORM ,除了具有媲美ADO的性能外还具有和EF相似简单易用的语法,地址:http://www.cnblogs.com/sunkaixuan/p/5654695.html
2、Dapper ORM : 是一个轻型的ORM类。代码就一个SqlMapper.cs文件,主要是IDbConnection的扩展方法,官方站点http://code.google.com/p/dapper-dot-net/ ,也可以通过Nuget进行安装
3、EF6.0: .NET官方ORM
测试结果:
从测试代码可以看出 SqlSugar Dapper 的性能都是差不多的,EF就有些不尽人意
将EF改成AsNoTracking又测了几次,【查询所有】性能有所提升但是还是最慢, 查询单条和分页AsNoTracking貌似没什么效果
总结:
SqlSugar继承了 EF的功能功能,也有Dapper的性能,是一款非常强大的ORM
SqlSugar 4.0 三表查询并分页
int total=0;
var list8 = db.Queryable<Student,School,School>((st,sc,sc2) =>st.SchoolId ==sc.Id&&sc.Id ==sc2.Id)
.Select((st, sc, sc2) =>new{st.Name,st.Id,schoolName = sc.Name})
.ToPageList(1, 2,ref total)
EF 二表查询并分页
var
queryable = (
from
a
in
StudentList
join
b
in
SchoolList1
on
a.Id
equals
b.Id
into
b1
from
b2
in
b1.DefaultIfEmpty()
select
new
{
a.Id,
a.Name,
t = b2.Name
});
var
listp = queryable.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
var
total = queryable.Count();
从上面的语法可以看出两者之前的差距,3表查询比EF2表查询还要简洁
代码下载
https://github.com/sunkaixuan/SqlSugar
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- asp.net源程序编译为dll文件并调用的实现过程 2020-03-29
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- Asp.Net中WebForm的生命周期 2020-03-29
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash