LinQ的高级查询

模糊查询:

//数据库 + 自定义名称 =new 数据库
//例子:
mydbDataContext con = new mydbDataContext();
//模糊查询表达式中用.Contains
con.car.Where(r=>r.name.Contains(TextBox1.Text.Trim())).ToList();
//开头查用.StartWith
con.car.Where(r => r.name.StartsWith(TextBox1.Text)).ToList();
//结尾查用.EndWith
con.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();
时间: 2024-11-09 21:29:17

LinQ的高级查询的相关文章

LINQ 【高级查询】

using (Data0216DataContext con = new Data0216DataContext()) {      List<Users> ulist = con.Users.ToList();        一.模糊查询   以....开头   ulist . Where( r => r.NickName.StartsWith("许")); 以....结尾   ulist . Where( r => r.NickName.EndsWith(&

LinQ常用高级查询

字符串:模糊查(包含):con.car.Where(r => r.name.Contains(name)).ToList();以什么开头:con.car.Where(r => r.name.StartsWith(name)).ToList();以什么结尾:con.car.Where(r => r.name.EndsWith(name)).ToList(); 数值:个数:.Count()最大值:con.car.Max(r => r.price);最小值:con.car.Min(r =

Linq高级查询与分页查询

Linq高级查询 以~开头: r=>r.Name.StartsWith("李"); 以~结尾: r=>r.Name.EndsWith("光"); 包含(模糊查询): r=>r.Name.Contains("四"); 数据总个数: Con.Goods.Count();||Con.Users.ToList().count; 最大值: Con.Goods.ToList().Max(r=>r.Price); 最小值: Con.Go

LinQ To Objects 高级查询方法

什么是LinQ To Objects? 用一个例子解释,首先定义一个数组,查询数组中的最大值: int[] arr = { 123, 2, 3, 45, 654, 2324, 897, 56, 6554, 4, 3, 6, 8, 434 }; 旧的方法: int max=0 ; foreach(int a in arr) { if(a>=max) max=a; } Console.Write("最大值:"+ max); LinQ To Objects方法: Console.Wri

LINQ中的高级查询

LINQ查询方法: 1.Method Syntax查询方法方式:主要利用System.Linq.Enumerable类定义的拓展方法和Lambda表达式方法进行查询. 2.Query Syntax查询语句方式. 查询语句和查询方法的关系:编译器负责在编译时将查询语句便以为查询方法,大部分的查询方法都有对应的查询语句姓氏.一般情况下,我们会使用查询语句+查询方法的混合方式进行查询. 常见的高级查询方法分为:聚合.排序.分区.集合.生成. Ⅰ聚合类: <span style="font-siz

Linq——高级查询方法入门

一,Lambda表达式 lambda表达式刚开始用的时候还很不习惯,因为以前用惯了那种先foreach,再逐个判断的麻烦形式,刚开始用lambda都会在脑子里转一下,变成自己让自己舒服的格式,但是写过几行代码后,就会喜欢上这种形式,首先,它比较简洁,其次,和LINQ组合起来用感觉非常贴近SQL: 二,LINQ高级查询内容简介 LINQ的写法有两种,一种是语句形式,一种是方法形式,但是语句形式支持的功能貌似不足方法强大,所以,有些时候写语句形式的LINQ表达式还要加入方法.在编译的时候,也是将语句

LinQ—高级查询方法

对于高级查询方法,主要分为五大类,详情下图: [Distinct]:  避免重复值出现,也就是如果有两个数字2,那么使用集合类可以单一出现 首先我们来写一个数组,方便举例: // 数组数据persons int[ ] Arr = { 25, 36, 25, 2, 3, 9, 55, 581, 21, 15, 44, 78, 96 }; 聚合类 Console.WriteLine("arr的最大值:" + Arr.Max()); Console.WriteLine("arr的最

C#高级编程六十二天----LINQ标准的查询操作符

LINQ标准的查询操作符 首先我们来看一下LINQ的操作符,可根据查询操作符的操作"类型"进行分类,如把它们分成投影,限制,排序,联接,分组,串联,聚合,集合,生成,转换,元素,相等,量词,分割等. 类型 操作符名称 投影操作符 Select,SelectMany 限制操作符 Where 排序操作符 OrderBy,OrderByDescending,ThenBy,ThenByDescending,Reverse 联接操作符 Join,GroupJoin 分组操作符 GroupBy 串

2019年 7月16日 Linq高级查询

1.Linq 语言集成查询 它允许使用SQL查询数据库的方式来查询数据集合 可以从数据库 程序对象集合以及XML文档中查询数据 2.Linq有两种写法 一种是form查询的方法 一种是where拉姆达表达式的写法 3.当List是引用类型时候 不建议使用Contains 4.Action<>有两个参数 第一个是参数 第二个是返回值 5.Linq to Objects 主要负责对象的查询 6.LLinq to XML 主要负责XML的查询 7.Linq to ADO.NET 主要负责数据库的查询