ITXP365(智码IT网)

分享电脑知识,传播IT技巧

致敬爱学习的您,祝您访问愉快!

SqlSugar基础查询简要总结


发布:智码IT网   阅读:
【db.Queryable<Student>()】
--------------------------------------------------------
  .Count() | CountAsync()     //查记录数 
  .ToList()                             //查所有记录

  //【指定 或 排除 要查询的列】
  .Select(it=>it.Name).ToList()              //只查Name这一列
  .IgnoreColumns(it=>it.Files).ToList()  //查询时,排除Files这一列
--------------------------------------------------------
  //【分页】
  .ToPageList(pagenumber, pageSize, ref totalCount)  //分页,有Rownumber,需要设置实体类字段和属性
  .ToOffsetPage()  //分页,没有Rownumber

  //异步分页
  RefAsync<int> total = 0;
  .ToPageListAsync(pagenumber, pageSize, total);//异步分页

--------------------------------------------------------
  //【设置条件】可以是 简单条件、Expression、主键 等条件
  .Where(  ... && ... ).ToList()            //多条件查询1
  .Where( ... ).Where( ... ).ToList()     //多条件查询2
  
  //【通过Expression where】
  var exp= Expressionable.Create<Student>();
  exp.OrIF(条件,it=>it.Id==1);//.OrIf 是条件成立才会拼接OR
  exp.Or(it =>it.Name.Contains("jack"));//拼接OR
  .Where(exp.ToExpression()).ToList();    //动态条件,使用Express  

  //【单主键查询 SingleById】
  .Single(it=>it.Id==2) //根据ID查询
  .InSingle(2)                //通过主键查询 SingleById

  //【多主键查询】
  .WhereClassByPrimaryKey( new Order(){ Pk1=1,Pk2=xx }).ToList(); //通过 单个实体 查询
  .WhereClassByPrimaryKey( List<Order> ).ToList();                          //通过 集合 查询
--------------------------------------------------------
  .First( it=>it.Id==1 ) // 第一条数据,如果没有,返回null
  .Take(10).ToList()      //前10条
--------------------------------------------------------
  //【是否存在 is exists】
 .Any( .. ) |  .Where( ...).Any()
--------------------------------------------------------
  //【排序】
  .OrderBy( it=>it.Id,OrderByType.Desc ).First( it=>it.Id>10 ) //倒序后,取第一个,相当于是取最后一个
  .OrderBy( (st,sc) => sc.Id,OrderByType.Desc ).ToList()
--------------------------------------------------------
  //【最大、最小、求和】
  .Max(it=>it.Id) | .MaxAsync(it=>it.Id)
  .Min(it=>it.Id) | .MinAsync(it=>it.Id)
  .Sum(it=>it.Id) | .SumAsync(it=>it.Id)
--------------------------------------------------------
  //【 IN | NOT IN 查询】
  int [] allIds =new int[]{2,3,31};
  db.Queryable<OrderItem>().Where(it => allIds.Contains(it.OrderId)).ToList()

  List<OrderItem> list=xxx;
  db.Queryable<OrderItem>().Where(it => list.Any(s => s.Id == it.Id && s.Name == it.Name))

  List<OrderItem> list=xxx;
  db.Queryable<OrderItem>().Where(it => list.Any(s => it.Name.Contanins(s.Name)))

  int [] allIds =new int[]{2,3,31};
  db.Queryable<OrderItem>().Where(it => !allIds.Contains(it.OrderId)).ToList()
上一篇:没有了
下一篇:没有了

© 2001-智码IT网 www.itxp365.com版权所有

蜀ICP备2021001527号