2016-09-27 68 views
0

我想從db.Accounts返回所有項目。 如何在下面的linq查詢上進行正確連接?正確加入我的linq查詢

 var query = (
        from tradeTbl in db.Trades 
        join acctTbl in db.Accounts on tradeTbl.AccountID equals acctTbl.AccountID 

我試圖改變到

 var query = (
        from acctTbl in db.Accounts 
        join tradeTbl in db.Trades on acctTbl.AccountID equals tradeTbl.AccountID 
        where acctTbl.AccountActive == true 

仍然沒有工作......如果我把在SSMS相同的查詢,並更改爲LEFT JOIN它工作在SSMS

+0

這就是問題......我不知道該怎麼做。通常我會正確右加入acctTbl – solarissf

+0

似乎無法得到它的權利,我張貼代碼上面 – solarissf

回答

1

只寫它通過反轉連接表來實現左(外部)連接。

var query = 
    from a in db.Accounts 
    join t in db.Trades on a.AccountID equals t.AccountID into ts 
    from t in ts.DefaultIfEmpty() 
    select ...; 
+0

我必須缺少一些簡單的東西。我試過你的,它仍然不會返回db.Accounts中的所有值。如果我在SSMS中放入同樣的東西並將它改爲LEFT JOIN,它就可以工作。 – solarissf

+0

對不起,我正在各地。它應該是左外連接,但是我將它與內連接混合在一起。 –

+0

這工作...謝謝你! – solarissf