【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()