有两个表,一个订登记表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 子类的对象。