C# linq 写 left join 例子

有两个表,一个订登记表registrations ,一个取消登记表 cancelRegistrations。现在想只查看有效登记的表内容。

sql语句显示为

SELECT
registrations.id,
cancelregistrations.registrationid
FROM
registrations
LEFT JOIN cancelregistrations ON registrations.id = cancelregistrations.registrationid
WHERE
cancelregistrations.registrationid IS NULL;

然而,在后台代码中,并为直接使用sql语句进行查询,而是使用 linq。经过几番查找,在点击打开链接这里查找到了相应的解答,结果就是

                var query = from r in ctx.Registrations
                            join cr in ctx.CancelRegistrations
                            on r.ID equals cr.RegistrationID into tt
                            from cr in tt.DefaultIfEmpty()
                            where cr == null
                            select r;
ps: 其中ctx为数据库自定义的Context 子类的对象。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页