为简单起见,我有 2 个表格:
Table1 has UserId Email
Table2 has UserId Score
我想过滤掉 10>的所有分数。但是,不能保证表中 2 中有任何用户。UserId 是表 2 上的 PK 和 FK。用户 ID 是表 1 上的 PK。
我的问题是我需要获取所有分数,然后检查它们。
参见左外部连接
var q =
from user in Table1
join s in Table2 on user.UserId equals score.UserId into lscore
from score in lscore.DefaultIfEmpty()
where score == null || lscore.score < 10
select new { userId = user.userid, email = user.Email, Score = score == null ? 0 : lscore.score };