一对多的对应关系,查询,求教
class和student是1:M的关系类 class
id claseName
1001 三年一班
1002 三年二班
类 student
id classId age
1001 1002 8
1002 1002 9
1003 1002 9
已从数据库查询出来一个list<class>,无条件查询出来的
现在要进行筛选,查出三年二班,年龄大于等于9的学生信息
要求写成list.where(...)形式,不是写成from p in list...
谢谢各位!!! --------------------编程问答-------------------- liststu=liststu.Where(t=>t.age>=9&&t.classId==listclass.First(tt=>tt.claseName=="三年二班").id).ToList(); --------------------编程问答-------------------- var id= listclass.First(t=>t.claseName=="三年二班").id;
liststu=liststu.Where(t=>t.age>=9&&t.classId==id); --------------------编程问答-------------------- 分开写 查询只执行一次, 用子查询的话,子查询在父查询每次迭代都会执行一次 --------------------编程问答-------------------- 建立了关系的话,直接 查询
--------------------编程问答-------------------- join,groupjoin都可以,代码不写了,你知道这两关键词,google一下自己就能搞定 --------------------编程问答--------------------
List<class> list=....;
var query=list.FirstOrDefault(f=>f.claseName=="三年二班").student.Where(t=>t.age>=9);
如果主表符合条件的是多件呢,比如:
类 class
id claseName grade
1001 三年一班 三年级
1002 三年二班 三年级
1003 四年一班 四年级
类 student
id classId age
1001 1002 8
1002 1002 9
1003 1002 9
查出三年级,年龄大于等于9的学生信息 --------------------编程问答--------------------
谢谢,如果主表符合条件的是多件呢? --------------------编程问答--------------------
谢谢,如果主表符合条件的是多件呢?
补充:.NET技术 , LINQ