联合查询
顾名思义,也就是将两个集合结合在一起进行查询的办法。
- 表达式写法:
var res = from m in masterList
from s in skillList
where m.Age == s.WorkAge
select new {master = m, skill = s};
var res = from m in masterList
from s in skillList
where m.Id == s.Id && s.skillLevel > 5
select ml;
- 扩展方法写法:
var res = masterList.SelectMany(m=>skillList, (m,s)=> new{master = m, skill = s});
添加条件
//这其中,对于SelectMany方法的参数中,有两个委托
//首先将skillList传递过来,让其与masterList做一个联合
//第二个委托,则是将结果给组拼起来
var res = masterList.SelectMany(m=>skillList, (m,s)=> new{master = m, skill = s}).Where( x =>x.master.Age == x.skill.WorkAge);