在本文中,我们将通过一个示例展示如何编写具有多个join的LINQ语句。
如果您像我一样,有时会发现很难记住LINQ语句的语法,因为我从T-SQL跳转到ASP.NET和C#。
我正在寻找一个示例,该示例可能显示如何编写一个带有多个join的LINQ语句,但是我几乎没有运气,因此,最终,当我将几个脑细胞投入使用后,我想到了以下内容:
var dbRegCourses = (from a in db.CourseRegistries
join b in db.Courses on a.courseid equals b.id
join c in db.aspnet_Users on a.userid equals c.UserId
where a.userid == sUserID
orderby a.regdate, b.code, b.description,
b.instructor, b.date, b.venue
select new
{
a.regdate, b.code, b.description,
b.instructor, b.date, b.venue});
if (dbRegCourses.Count() > 0)
{
ResultLbl.Text = "We found that you are registered to: " +
dbRegCourses.Count().ToString() + " Courses.";
return;
}
如果您注意到的话,这里我们使用where语句连接三个表,然后从至少两个表中选择列。
我还在底部添加了一个if语句,以查看是否从LINQ语句返回了任何行,如果是这种情况,请返回一条消息。