你的位置:首页 > ASP.net教程

[ASP.net教程]LinQ的高级查询


模糊查询:

//数据库 + 自定义名称 =new 数据库//例子:mydbDataContext con = new mydbDataContext();//模糊查询表达式中用.Containscon.car.Where(r=>r.name.Contains(TextBox1.Text.Trim())).ToList();//开头查用.StartWithcon.car.Where(r => r.name.StartsWith(TextBox1.Text)).ToList();//结尾查用.EndWithcon.car.Where(r => r.name.EndsWith(TextBox1.Text)).ToList();

最大值,最小值:

//最大值//例子:con.car.Max(r => r.price * r.oil).ToString();//最小值//例子:con.car.Min(r => r.price).ToString();

求和,平均值:

//求和con.car.Sum(r => r.price).ToString();//平均值con.car.Average(r => r.price).ToString();

升序,降序:

//升序:con.car.OrderBy(r => r.price).ToList();//降序:con.car.OrderByDescending(r => r.price).ToList();

上一页,下一页,组合查询:

int PageCount = 5;//每页显示条数//上一页,PageCount_Label.Text为当前页码int pageNum = Convert.ToInt32(PageCount_Label.Text) - 1;    Repeater1.DataSource = con.car.Skip((pageNum - 1) * PageCount).Take(PageCount);    Repeater1.DataBind();     PageCount_Label.Text = pageNum.ToString();//下一页int pageNum = Convert.ToInt32(PageCount_Label.Text) + 1;    Repeater1.DataSource = con.car.Skip((pageNum - 1) * PageCount).Take(PageCount);    Repeater1.DataBind();    PageCount_Label.Text = pageNum.ToString();//组合查询的点击事件List<car> list = con.car.ToList();    if (TextBox2.Text != "")    {      List<car> list1 = con.car.Where(r => r.name.Contains(TextBox2.Text)).ToList();      list = list.Intersect(list1).ToList();    }    if (TextBox3.Text != "")    {      List<car> list1 = con.car.Where(r => r.oil == Convert.ToDecimal(TextBox3.Text)).ToList();      list = list.Intersect(list1).ToList();    }    if (TextBox4.Text != "")    {      List<car> list1 = con.car.Where(r => r.powers == Convert.ToInt32(TextBox4.Text)).ToList();      list = list.Intersect(list1).ToList();    }    Repeater1.DataSource = list;    Repeater1.DataBind();