2017-06-30 71 views
-2
select * 
from impact 
where (usedin&1)=1 
and impactid not in 
    (select impactid 
    from responsetime 
    where scontractid= scontractid ) 

我學習LINQ查詢寫。 我想在LINQ中寫這個查詢。SQL查詢LINQ如何在LINQ

+1

哪裏是你的代碼,你嘗試過什麼? –

+2

請不要只發布SQL並要求轉換。至少顯示一個類模型,以便導航屬性和關聯的多樣性是可見的。另外,請告訴你的目標(對實體?)什麼類型的LINQ,並展示你自己的第一個努力。他們向我們澄清的比你想象的更多。 –

+0

「按位與」運算符是C#和SQL一樣。 NOT IN的Linq中的等效是https://stackoverflow.com/questions/183791/how-would-you-do-a-not-in-query-with-linq試一試,然後發佈你的代碼。還有一些轉換成SQL Linq的一些自動化的工具,但我不知道他們是多麼可靠https://stackoverflow.com/questions/296972/sql-to-linq-tool – derloopkat

回答

1

有人告訴我,像這樣的SQL查詢會更快。

select * 
from impact i 
left outer join responsetime r on i.impactid = r.impactid 
where (usedin&1)=1 
    and scontractid= scontractid 
    and r.impact is null 

轉換,爲LINQ,我們得到:

from i in impact 
from r in responsetime.Where(rr=>i.impactid = rr.impactid).DefaultIfEmpty() 
where (i.usedin&1)=1 
    and i.scontractid= scontractid 
    and r.impact is null 
select i