我需要帮助来使用带有 WHERE 子句的 LINQ 执行 JOIN。问题是当事件中的 CaseId 为空(并非所有事件都与案例相关)时,它会导致不显示事件。
这是我的代码:
var queryEvents = (from e in db.events
join u in db.users on e.UserID equals u.UserID
join c in db.cases on e.CaseID equals c.CaseID
where e.UserID == Program.loggedUser.UserID || (e.UserGroupID == Program.loggedUser.UserGroupID && c.AccessLvl>0)
select new { User = u.FirstName + " " + u.LastName, e.Name, e.Description, e.StartDate }).OrderByDescending(x => x.StartDate);
gvAppointments.DataSource = queryEvents.ToList();
我找到了一些关于如何使用 INTO 使用 LINQ LEFT JOIN 的示例,但后来我遇到了 WHERE 语句的问题。老实说,我不知道把它放在哪里。
有人可以帮我解决这个问题吗?
相关分类