我有以下T-SQL:
Select
MESReportHeaderID
From Report.MESReportHeader
Where
MESReportHeaderID IN (Select ParentID From Report.MESReportHeader) And
IsLeafLevel = 0
如果不是IN语句,那么转换为Linq会相当简单。任何人都可以帮忙吗?
感谢。
答案 0 :(得分:2)
可能有更有效的方法,但我认为这是一个非常简单的使用扩展方法的翻译。
var headerIDs = ctx.ReportHeaders
.Where( r => ctx.ReportHeaders
.Select( rh => rh.ParentID )
.Contains( r.MESReportHeaderID )
&& !r.IsLeafLevel )
答案 1 :(得分:0)
这个怎么样:
from r in reportHeaders
where reportHeaders.Any(r2 => r2.ParentId == r.MESReportHeaderID)