在LINQ to SQL中使用语句和外连接

时间:2015-04-08 16:26:47

标签: c# sql .net linq

如何在LINQ to SQL的外连接中使用let语句?

如下所示,

from a in tableA
from b in tableB.where(o =>  a.Key == o.Key).DefaultIfEmpty() //outer join
let x = b.objectBB  
where b != null && x != null && x.FilterCode == "X"

所以,

  
      
  1. 上述查询是否正常?
  2.   
  3. 如果'b'为空,'let'会失败吗?
  4.   
  5. 'x'上的where子句会发生什么?这个过滤器工作正常吗?
  6.   

任何更好的方式来实现这一点也非常受欢迎。!

1 个答案:

答案 0 :(得分:1)

对我来说,如果你想让双方都不为空,那么你不是只想要一个内部联接吗?

from a in tableA
join b in tableB on a.Key equals o.Key
where b.FilterCode == "X"