Конвертировать T-SQL в Linq - PullRequest
       43

Конвертировать T-SQL в Linq

0 голосов
/ 22 декабря 2010

У меня есть следующий T-SQL:

Select 
    MESReportHeaderID
From Report.MESReportHeader
Where 
    MESReportHeaderID IN (Select ParentID From Report.MESReportHeader) And 
    IsLeafLevel = 0

Преобразование в Linq было бы тривиально, если бы не оператор IN. Может ли кто-нибудь помочь с этим?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 22 декабря 2010

Могут быть более эффективные способы сделать это, но я думаю, что это довольно простой перевод с использованием методов расширения.

var headerIDs = ctx.ReportHeaders
                   .Where( r => ctx.ReportHeaders
                                   .Select( rh => rh.ParentID )
                                   .Contains( r.MESReportHeaderID )
                                && !r.IsLeafLevel )
0 голосов
/ 22 декабря 2010

Как насчет этого:

from r in reportHeaders
where reportHeaders.Any(r2 => r2.ParentId == r.MESReportHeaderID)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...