如何使用 WHERE 执行 LINQ JOIN

我需要帮助来使用带有 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 语句的问题。老实说,我不知道把它放在哪里。


有人可以帮我解决这个问题吗?


侃侃无极
浏览 167回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP