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