如何在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"
所以,
- 上述查询是否正常?
- 如果'b'为空,'let'会失败吗?
- 'x'上的where子句会发生什么?这个过滤器工作正常吗?
醇>
任何更好的方式来实现这一点也非常受欢迎。!
答案 0 :(得分:1)
对我来说,如果你想让双方都不为空,那么你不是只想要一个内部联接吗?
from a in tableA
join b in tableB on a.Key equals o.Key
where b.FilterCode == "X"