首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

linq to sql left join 三表以查询,该怎么解决

2012-01-30 
linq to sql left join 三表以查询我现在有三个表tbOnetbTwotbThreetbOne 有两个字段 tbOneId ,tbOneNamet

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           }; 

热点排行