右边加入我的linq查询

时间:2016-09-27 17:21:55

标签: linq right-join

我想从db.Accounts返回所有项目。 如何在下面的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中使用

1 个答案:

答案 0 :(得分: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 ...;