LinQ高级查询、组合查询
生活随笔
收集整理的這篇文章主要介紹了
LinQ高级查询、组合查询
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
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、結(jié)尾
Repeater1.DataSource = con.car.Where(r =>r.name.EndsWith(s)).ToList();4、個數(shù)
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方法:跳過多少條數(shù)據(jù)
Take方法:取前多少條數(shù)據(jù)
例:打開頁面綁定第一頁的數(shù)據(jù)
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中使用此集合,不會立馬查詢出實際的數(shù)據(jù),而是在真正使用到此集合時才會去執(zhí)行查詢,可以提高服務(wù)器內(nèi)存的效率,避免占用內(nèi)存過多導致服務(wù)器崩潰,但需注意如果中途把此集合ToList()則會立刻執(zhí)行并返回實際的數(shù)據(jù)。
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);轉(zhuǎn)載于:https://www.cnblogs.com/zhulijun/p/6942263.html
總結(jié)
以上是生活随笔為你收集整理的LinQ高级查询、组合查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20155330 2016-2017-2
- 下一篇: 【90】沟通:跨部门管理