先附上源代码再说明吧:
源代码如下:
var byHow = from how in vehicles
join trans in transports
on how.vehicleHow equals trans.How
into lst // 此lst是IEnumerable<transport> 类型
select new { How=how, Tlist = lst };
注意:在select以前的代码,lst 代表的是经过筛选后匹配的实例,一般是一个枚举类型,这时两数据源并没有合并在一起,
还只是分开。若要选择具体显示的字段时,可以在select执行new操作。确定刷选的字符。
此句的运行原理为:1:从vehicles取出每一个对象,再将每一个对象how与transports中how进行匹配,此时一个vehicles可能匹配多个transports对象,也就是一对多的关系。如果vehicles有10个对象,那么将进行10次的匹配,不管vehicles中对象的字段是否有相同的值。都会进行一一的匹配。