1、Linq中没有left join和right join,只有inner join和组查询,要使用left join,需要join和into组合使用。
2、Linq使用 join(即inner join)
t1有2行数据,t2有1行数据,满足 t1.t2_id = t2.id ,
结果:返回1条数据(t1、t2同时满足条件的数据)。
List Model1List1 = (from t1 in list_1
join t2 in list_2 on t1.t2_id equals t2.id
select new Model1
{
id=t1.code,
name=t2.title
}).ToList();
3、Linq使用 left join
t1有2行数据,t2有1行数据,满足 t1.t2_id = t2.id ,
结果:返回2条数据(t1的数据全部满足)。
List Model1List1 = (from t1 in list_1
join t2 in list_2 on t1.t2)_id equals t2.id into t2Group
from t2_result in t2Group.DefaultIfEmpty(new Model())
select new Model1
{
id=t1.code,
name=t2_result.title
}).ToList();