随笔 - 21  文章 - 0  评论 - 0  阅读 - 3341

C#-System-LinQ-条件精确查询、高级查询

C#-System-LinQ-条件精确查询、高级查询
 条件查询:Lambda表达式  Repeater1.DataSource = con.Car.Where(r => r.Name == name);
多条件查询:Repeater1.DataSource = con.Car.Where(r => r.Name == name && r.Price == Convert.ToDecimal(price)).ToList();

高级查询

一、模糊查询(包含字符串)

Repeater1.DataSource = con.Car.Where(r => r.Name.Contains(name)).ToList();

二、开头、结尾

Repeater1.DataSource = con.Car.Where(r => r.Name.StartsWith(name)).ToList();

Repeater1.DataSource = con.Car.Where(r => r.Name.EndsWith(name)).ToList();

三、最大值、最小值

//模糊查询并绑定数据

IQueryable<Car> clist = con.Car.Where(r => r.Name.Contains(name)).AsQueryable();

Repeater1.DataSource = clist;

//展示数据个数

Label1.Text = clist.Max(r => r.Price).ToString();

//展示数据中最小的

Label2.Text = clist.Min(r => r.Price).ToString();

四、个数

//模糊查询并绑定数据

IQueryable<Car> clist = con.Car.Where(r => r.Name.Contains(name)).AsQueryable();

Repeater1.DataSource = clist;

//展示数据个数

Label1.Text = clist.Count().ToString();

五、平均值、和

平均值:Average

Label1.Text = con.Car.Average(r => r.Price).ToString();

和:Sum

Label1.Text = con.Car.Sum(r => r.Price).ToString();

六、升序、降序

升序:

Repeater1.DataSource = con.Car.OrderBy(r => r.Price);

降序:

Repeater1.DataSource = con.Car.OrderByDescending(r => r.Price);

分段排序 - ThenBy()

IQueryable<Car> clist = con.Car.AsQueryable().OrderBy(r => r.Brand).ThenBy(r => r.Oil);

.ToList()分页

int pagesize  = 分页大小(每一页大小)

int pageindex = 第几页(一般这个变量是随循环递增的)  

使用方法

.Skip(pagesize*pageindex).Take(pagesize)

.Skip()   忽略数,表示从哪里开始分页

.Take()  表示每一页截取多少个记录

注意 ,数列是从0开始的,也就是说,第一个是 0,第二个是 1 ... ...

以上方法结合,截取的只是一页,需要在循环中使用,不断截取下一页

例如

{1,2,3,4,5,6,7,8,9,10}

.Skip(5).Take(4)     //忽略5个数,即从第(5+1)个数开始截!共截取4个

输出 6,7,8,9

Linq 中查询一个表中指定的字段

Linq中查询一个表中指定的几个字段:

var ts = t.FindAllItems().Where(P => P.CompanyID == CurSiteUser.CompanyId).Select(s => new { BillPeriod = s.BillPeriod,FieldB=s.FieldB }).Distinct().ToList().OrderByDescending(s => s.BillPeriod).Take(24);

//   FindAllItems()为查询对应表的所有数据的方法;

// Where 里面为查询条件

// Select 为查询的筛选条件  new{}  里面就是要查询的字段

//Distinct() 为去除重复的查询

//ToList() 为将查询转换为List<>

//OrderByDescending()  表示排序字段及排序方法(倒序排列)

//Take(N)  表示查询前N条数据

 

posted on   侗家小蚁哥  阅读(80)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示