Linq to entity (3.5) 左联接问题

来源:互联网 发布:黑马c语言视频云盘 编辑:程序博客网 时间:2024/06/05 00:28

在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 的语法对各个泛型集合进行左联接查询。
    虽然会牺牲性能,不过在数据量不是很大的系统中也不失为一个解决办法。