先来看一下我们的表结构:
首先毫无疑问的要创建我们的上下文对象:
using (var db = new Entities()){ //执行操作}
Average 平均值:
//查询平均分Console.WriteLine("平均分:"+db.Student.Average(v=>v.Score));
Max 最大值:
//查询最高分Console.WriteLine("最高分:"+db.Student.Max(v=>v.Score));
Min 最小值:
//查询最低分Console.WriteLine("最低分:"+db.Student.Min(v=>v.Score));
Sum 求和:
//查询总分Console.WriteLine("总分:"+db.Student.Sum(v=>v.Score));
Count 数量:
//查询学生个数Console.WriteLine("个数:"+db.Student.Count());
执行结果:
Contains 包含:
//查询名字中包含 小 字的学生Console.WriteLine("=====打印所哟名字包含 小 的学生=====");var query = db.Student.Where(v => v.StudentName.Contains("小"));foreach(var st in query){ Console.WriteLine(st.StudentName);}
Distinct 去重:
//去重复Console.WriteLine("=====打印所有学生分数 去重=====");var query2 = db.Student.Select(v=>v.Score).Distinct();foreach (var st in query2){ Console.WriteLine(st);}
执行结果:
Take 取出指定个数
//查询前3条记录Console.WriteLine("=====查询前几条记录==========");var query3 = db.Student.Take(3);foreach (var st in query3){ Console.WriteLine(st.StudentID+" "+st.StudentName);}
Skip 跳过指定个数
//跳过前3条记录Console.WriteLine("======跳过前N条记录=======");var query4 = db.Student.OrderBy(v=>v.StudentID).Skip(3); //调用Skip方法之前必须使用 OrderBy排序 否则报错。foreach (var st in query4){ Console.WriteLine(st.StudentID + " " + st.StudentName);}
结合使用 Skip 和 Take
//查询3-6条记录Console.WriteLine("=====查询2-4条记录==========");var query5 = db.Student.OrderBy(v=>v.StudentID).Take(4).Skip(1);//先取出4条记录 --> 再 排除1条 共3条foreach (var st in query5){ Console.WriteLine(st.StudentID + " " + st.StudentName);}
颠倒顺序,结果不同:
//查询3-6条记录Console.WriteLine("=====查询2-5条记录==========");var query6 = db.Student.OrderBy(v => v.StudentID).Skip(1).Take(4);//先排除1条 --> 再取出4条记录 共4条foreach (var st in query6){ Console.WriteLine(st.StudentID + " " + st.StudentName);}
说明: Skip().Take() 是先排除,再取数据。 Take().Skip() 是先取数据再排除,他们返回的个数不同。
posted on 2016-08-10 15:38 阅读( ...) 评论( ...)