.Net Code
using (testEntities TestEntity = new testEntities()) { #region linq to entities 内容练习2 #region 父子关系表查询 /* var maxScorePerClass = from s in TestEntity.stuinfo group s by s.classID into s1 select new { classid = s1.Key, stuinfo = from s2 in s1 where s2.score == s1.Max(p => p.score) select s2 }; foreach (var sc in maxScorePerClass) //stuinfo 为 IEnumerable<stuinfo> 类型 { Console.WriteLine("classID:{0}", sc.classid); Console.WriteLine("每班最高分数:{0}", sc.stuinfo.First().score); } Console.WriteLine(); */ #endregion #region 查询每班低于平均成绩的学生 /* var LitThanAvgScorePerClass = from s in TestEntity.stuinfo group s by s.classID into s1 select new { classid = s1.Key, stuinfo = from s2 in s1 where s2.score <= s1.Average(p => p.score)//修改此处,可查每班最低成绩、最高成绩等 select s2 }; // Console.Clear(); foreach (var sc in LitThanAvgScorePerClass) //stuinfo 为 IEnumerable<stuinfo> 类型 { Console.WriteLine("每班低于平均分数-classID:{0}", sc.classid); foreach (var stu in sc.stuinfo) { Console.WriteLine("分数:{0}", stu.score); } } Console.WriteLine(); */ #endregion #region 模糊查询---相当于like /* var querylike = from s in TestEntity.stuinfo where s.username.Contains("pkm") //相当于like '%pkm%' select s; foreach (var s in querylike) { Console.WriteLine(s.username); } Console.WriteLine(); */ #endregion #region 编译查询--类似于函数 /* var function = CompiledQuery.Compile((testEntities edm1, string user)//参数 => from s in edm1.stuinfo where s.username == user select s ); var stu001 = function(TestEntity, "pkm001");//调用编译查询 foreach (var s in stu001) { Console.WriteLine(s.username); } Console.WriteLine(); */ #endregion #region any查询,相当于 in /* IQueryable<long> classIDs = TestEntity.classinfo.Select(c => c.classID); var inValues = from s in TestEntity.stuinfo where classIDs.Any(id => id == s.classID) select s; foreach (var s in inValues) { Console.WriteLine(s.username); } Console.WriteLine(); */ #endregion #region 插入数据--相当于insert /* var newStudent = new stuinfo() { username = "test0003", userpwd = "test0003", score = 95,