一、linq高級查
1.模糊查(字符串包含)
1 public List<User> Select(string name)
2 {
3 return con.User.Where(r =>r.UserName.Contains(name)).ToList();
4 }
2.查開頭(StartsWith,以XX開頭)
public List<User> Select(string name)
{
return con.User.Where(r => r.UserName.StartsWith(name)).ToList();
}
3.查結尾
public List<User> Select(string name)
{
return con.User.Where(r => r.UserName.EndsWith(name)).ToList();
}
4.查出來的數組長度(個數)
clist.Count()
5.最大值:Max(r => r.price);
public decimal? SelectMax()
{
return con.car.Max(r => r.price);
}
6.最小值:Min(r => r.price);
public decimal? SelectMin()
{
return con.car.Min(r => r.price);
}
7.平均值:Average(r => r.price);
public decimal? SelectAvg()
{
return con.car.Average(r => r.price);
}
8.求和:Sum(r => r.price);
public decimal? SelectSum() { return con.car.Sum(r => r.price); }
9.排序:
1、OrderBy 按升序對值進行排序。
2、OrderByDescending 按降序對值進行排序
3、ThenBy 按升序執行次要排序。
4、ThenByDescending 按降序執行次要排序。
(1)升序:OrderBy(r => r.price)
1 public List<car> orderBy()
2 {
3 return con.car.OrderBy(r => r.price).ToList();
4 }
(2)降序:OrderByDescending(r => r.price)
public List<car> orderBy()
{
return con.car.OrderByDescending(r => r.oil).ToList();
}
二、分頁與組合查詢
1.分頁
1 public List<User> Select(int count, int number)
2 {
3 return con.User.Skip(count * (number - 1)).Take(count).ToList();
4 }//這里的number是當前頁數,count是每頁的數據條數。skip,除去前多少條數據剩下的數據。take,取幾條數據,這句話就是查詢除去前多少條之后的剩下的數據的前多少條數據
public int MaxPageNumber()
{
List<User> list = new UserData().Select();
double nu = list.Count / (Pagecount * 1.0);//不要忘了取上線
int num = Convert.ToInt32(Math.Ceiling(nu));
return num;
}//總頁數
void btn_next_Click(object sender, EventArgs e)
{
int NowNumber = Convert.ToInt32(Label2.Text) + 1;//下一頁的頁數
if (NowNumber > MaxPageNumber())
{
return;
}
Repeater1.DataSource = new UserData().Select(Pagecount, NowNumber);
Repeater1.DataBind();
Label2.Text = NowNumber.ToString();
DropDownList2.SelectedValue = NowNumber.ToString();
}//下一頁

