2017-02-18 5 views
0

Ich habe eine SQL-Abfrage wie folgt, die ich kämpfe, um in äquivalente Linq zu übersetzen.SQL zu Linq Übersetzung - ist es sogar möglich

SELECT * 
FROM Product A 
WHERE NOT EXISTS 
(
    SELECT * FROM Vendors B JOIN ThirdPartyProduct C 
    ON B.ProductId = C.ExternalProductId 
    WHERE A.ProductCode = C.PrdouctCode AND C.SupportCode 
) 

Ich weiß, ich Alle dafür die Nicht-existieren Teil der Abfrage verwenden, kann aber, da ich auch mitmachen, ich weiß nicht, wie es in der Linq zu erarbeiten. Jede Hilfe hier wird sehr geschätzt.

+0

Es ist möglich, aber Sie sollten Ihre Anordnung (Modelle und usw.) und Code enthalten, in dem Sie versucht LINQ-Abfrage zu implementieren. – kat1330

Antwort

2

LINQ unterstützt auch Inline-Unterabfragen, so dass die Übersetzung im Grunde eins zu eins sein könnte - nur die typische LINQ select letzten und parameterlosen Any gehen nach der Unterabfrage. Mit anderen Worten, SQL NOT EXISTS (subquery) führt zu LINQ !(subquery).Any().

Etwas wie folgt aus:

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; 
Verwandte Themen