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 子类的对象。

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

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试