Linq to SQL 的連表查詢(轉)
阿新 • • 發佈:2017-11-09
equal query 交集 數據庫 調用 數據 變量 bst log
關於數據庫的查詢中經常需要用到多表的連接查詢,這裏就簡單地展示關於linq的查詢功能。 1、單表的查詢 [csharp] view plain copy var query = from tc in db.tbClass where tc.ClassID == "1" //查詢表tbClass select new { ClassID=tc.ClassID, ClassName=tc.ClassName }2、多表內連接查詢 [csharp] view plain copy var query = from s in db.tbStudents join c in db.tbClass on s.ClassID equals c.ClassID where s.ClassID == 3 select new { ClassID= s.ClassID, ClassName = c.ClassName, Student = new { Name = s.Name, StudentID = s.StudentID } }; 內連接與SqL中inner join一樣,即找出兩個序列的交集。3、外連接 [csharp] view plain copy var query = from s in db.tbStudents join c in db.tbClass on s.ClassID equals c.ClassID into tbC from tbCw in tbC.DefaultIfEmpty() where s.ClassID == 3 select new { ClassID = s.ClassID, ClassName = tbCw.ClassName, Student = new { Name = s.Name, StudentID = s.StudentID } }; 註意點在與外連接的時候 from外接表的時候需要進行into到新的變量中,然後進行調用DefaultIfEmpty()方法。
Linq to SQL 的連表查詢(轉)