在本文中,我們將通過一個示例展示如何編寫具有多個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語句返回了任何行,如果是這種情況,請返回一條消息。