【发布时间】:2016-04-18 08:50:10
【问题描述】:
我正在尝试选择 Unlock 表中不存在的 MatchingObjects,我的 SQL 查询如下:
select a.* from MatchingObjects a
left join Unlocks b
on a.ObjectCategoryId = b.ObjectCategoryId
left join Members c
on b.StudentId = c.Id
and b.StudentId = @studentId
where b.ObjectCategoryId is null
and c.id is null
order by a.ObjectCategoryId
还有一个 LINQ 查询
var query = (from d in db.ObjectCategories
join a in db.MatchingObjects on d.Id equals a.ObjectCategoryId into grp3
join b in db.Unlocks
on d.Id equals b.ObjectCategoryId into grp1
from m in grp1.DefaultIfEmpty()
join c in db.Members
on m.StudentId equals c.Id into grp2
from n in grp2.DefaultIfEmpty()
where m.ObjectCategoryId == null
&& n.Id == null
orderby d.Id).AsEnumerable()
;
但是,LINQ 查询显示的结果与我在 SQL 查询中想要的结果不同。你们能告诉我应该在我的 LINQ 查询中更改什么吗?
【问题讨论】:
-
对我来说这不是同一个查询!!你必须从同一张桌子开始
标签: c# sql sql-server linq