日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LinQ高级查询、组合查询

發布時間:2024/4/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LinQ高级查询、组合查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LinQ高級查詢、組合查詢

LinQ高級查詢:

1、模糊查詢(包含)

Repeater1.DataSource = con.car.Where(r =>r.name.Contains(s)).ToList();

2、開頭

Repeater1.DataSource = con.car.Where(r =>r.name.StartsWith(s)).ToList();

3、結尾

Repeater1.DataSource = con.car.Where(r =>r.name.EndsWith(s)).ToList();

4、個數

IEnumerable<car> clist = con.car; int count =clist.Count;

5、最大最小值平均值

con.car.Max(r => r.price); con.car.Min(r => r.price); con.car.Average(r => r.price);

6、求和、升序、降序

con.car.Sum(r => r.price); Repeater1.DataSource = con.car.OrderBy(r => r.price); Repeater1.DataSource = con.car.OrderByDescending(r => r.price);

7、分頁

  集合的Skip方法:跳過多少條數據

  Take方法:取前多少條數據  

  例:打開頁面綁定第一頁的數據

int count = 4;protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { using (Data0928DataContext con = new Data0928DataContext()) { Repeater1.DataSource = con.Users.Take(count).ToList(); Repeater1.DataBind(); } } }

8、組合查詢

  首先介紹一下IQueryable集合,在LinQ中使用此集合,不會立馬查詢出實際的數據,而是在真正使用到此集合時才會去執行查詢,可以提高服務器內存的效率,避免占用內存過多導致服務器崩潰,但需注意如果中途把此集合ToList()則會立刻執行并返回實際的數據。

using (Data0928DataContext con = new Data0928DataContext()){IQueryable<Users> ulist = con.Users;if (name.Length > 0) { ulist = ulist.Where(r => r.UserName.Contains(name)); } if (nick.Length > 0) { ulist = ulist.Where(r => r.NickName.Contains(nick)); } if (year.Length > 0) { ulist = ulist.Where(r => Convert.ToDateTime(r.Birthday).Year.ToString() == year); } Repeater1.DataSource = ulist.Take(count); Repeater1.DataBind(); }

9、集合的交集

  集合的Intersect方法,取兩個集合的交集

var allList = nameList.Intersect(brandList);

轉載于:https://www.cnblogs.com/zhulijun/p/6942263.html

總結

以上是生活随笔為你收集整理的LinQ高级查询、组合查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。