SQL到Linq的翻译 - 甚至是可能的

时间:2017-02-18 03:36:19

标签: c# linq

我有一个SQL查询,如下所示,我正在努力转化为等效的Linq。

pivot

我知道我可以使用任何来执行查询的不存在部分,但是,因为我也有加入,所以我不知道如何在Linq中解决问题。任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

LINQ也支持内联子查询,因此转换基本上是一对一的 - 只是典型的LINQ select最后一个,无参数Any在子查询之后。换句话说,SQL NOT EXISTS (subquery)转换为LINQ !(subquery).Any()

这样的事情:

from a in db.Product
where !(from b in db.Vendors
        join c in db.ThirdPartyProduct
        on b.ProductId equals c.ExternalProductId
        where a.ProductCode == c.ProductCode && c.SupportCode
        select b).Any()
select a;