zoukankan      html  css  js  c++  java
  • .NET 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 in StudentList
                          join 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表查询还要简洁

  • 相关阅读:
    hdu:2222:Keywords Search(AC自动机模板题)
    3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队
    bzoj:1026: [SCOI2009]windy数(数位dp)
    poj:1985:Cow Marathon(求树的直径)
    RQNOJ:PID30 / [stupid]愚蠢的矿工☆(树形背包)
    002 Android 系统特有的类介绍及使用
    001 Android TextUtils工具类的使用
    java 常用模块代码
    045 Android Studio 常用应用
    Android Studio 常用技巧
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/8568245.html
Copyright © 2011-2022 走看看