在linq to sql 中左联接可以这么写:
from q1 in table1
join q2 in table2
on q1.col equals q2.col into tem_table
from q3 in tem_table.DefaultIfEmpty()
select new {
name1 = q1.col
name2 = q3 == null? "":q3.col
}
但是在linq to entity(3.5)中该语法会有运行时错误。所以需要另辟蹊径:
解决办法是将需要连接的表全部查出来以List<T>形式存储,然后用linq to sql 的语法对各个泛型集合进行左联接查询。
虽然会牺牲性能,不过在数据量不是很大的系统中也不失为一个解决办法。
本文介绍了在LINQ to SQL中实现左联接的方法,并针对LINQ to Entities提出了替代方案,即先将需要联接的表以List形式存储再进行查询,尽管此方法可能会影响性能,但在数据量较小的情况下仍不失为一种可行的解决方案。
1550

被折叠的 条评论
为什么被折叠?



