Vb.net 如何在LINQ to SQL中连接多个(或)条件?

Vb.net 如何在LINQ to SQL中连接多个(或)条件?,vb.net,linq-to-sql,Vb.net,Linq To Sql,如何执行此SQL查询 Select Distinct s.* from #ScopeIDs x Join Scopes s on s.ScopeID=x.ScopeID or x.ScopeID is null 在LINQ到SQL中?(此查询将返回ScopeID位于#ScopeID中的所有作用域,除非#ScopeID中的一个条目为null,在这种情况下它将返回所有作用域) “直译”是不起作用的,因为LINQ不支持使用多个条件进行连接-按照这些行编写代码 From x in ScopeIDs

如何执行此SQL查询

Select Distinct s.* 
from #ScopeIDs x
Join Scopes s on s.ScopeID=x.ScopeID or x.ScopeID is null
在LINQ到SQL中?(此查询将返回ScopeID位于#ScopeID中的所有作用域,除非#ScopeID中的一个条目为null,在这种情况下它将返回所有作用域)

“直译”是不起作用的,因为LINQ不支持使用多个条件进行连接-按照这些行编写代码

From x in ScopeIDs
Join s in Scopes on s.ScopeID equals x.ScopeID or x.ScopeID equals nothing
Distinct Select s

。。。没有编译。

不完全是你问题的答案,但我相信你的疑问

Select Distinct s.*  
from #ScopeIDs x 
Join Scopes s on s.ScopeID=x.ScopeID or x.ScopeID is null 
更常用的表示为等价物

select Distinct s.*  
from #ScopeIDs x 
right join Scopes s on s.ScopeID=x.ScopeID