读书人

linq to sql left join 三表以查询,该

发布时间: 2012-01-30 21:15:58 作者: rapoo

linq to sql left join 三表以查询
我现在有三个表
tbOne
tbTwo
tbThree

tbOne 有两个字段 tbOneId ,tbOneName
tbTwo 有三个字段 tbTwoId,tbTwoName, tbOneId,tbThreeId
tbThree 有两个字段 tbThreeId,tbThreeName

数据: 其中tbOne 表里面有数据,tbTwo无任何数据,tbThree有数据

我想实现如下功能 以下是我写的sql语句
select
us.tbOneName,ca.tbTwoName,u.tbThreeName
from tbOne as us
left join tbTwo as ca on us.tbOneId = ca.tbOneId
left join tbThree as u on ca.tbThreeId=u.tbThreeId
请问怎么样在linq to sql 里面实现





[解决办法]

C# code
var query= from us in tbOne           join ca in tbTwo           on us.tbOneId equals ca.tbOneId           into temp           from ca in temp.DefaultIfEmpty()           join u in tbThree            on ca.tbThreeId equals u.tbThreeId           into temp1           from u in temp1.DefaultIfEmpty()           select new            {              us.tbOneName,              ca.tbTwoName,              u.tbThreeName           }; 

读书人网 >.NET

热点推荐