关于Linq语句的一点点收获

2019-03-13  本文已影响0人  徐曼曼_b287

使用join对两个集合进行连接操作

1. 对于集合dataSource1和dataSource2进行普通的连接操作

var query =from element1 in dataSource1 join element2 in dataSource2 on exp1 equals exp2 select new { };

此时join相当于sql语句中的 join|inner join

我把它解读为从集合1中取出元素1,集合2中的元素2,通过对比条件exp1、exp2,找到符合条件的元素,组合成新的集合赋值给查询结果query。

2. 对于集合dataSource1和dataSource2进行左连接操作

var query = from element1 in dataSource1  join element2 in dataSource2 on exp1  equals exp2  into val2grp from grp in val2grp.DefaultIfEmpty() select new { };

使用DefaultIfEmpty(),后join相当于sql语句中的 left join

我把它解读为从集合1中取出元素1,集合2中的元素2,通过对比条件exp1、exp2,找到符合条件的元素,添加到分组val2grp中,使用DefaultIfEmpty() 来提示,如果元素为空,则存入默认值,最终组合成新的集合赋值给查询结果query。

取集合的前N条数据

例如集合为dataSource1,要取它的前10条数据:dataSource1.Take(10),即可

成本2h40'

上一篇下一篇

猜你喜欢

热点阅读