文章内容
2017/11/30 9:40:15,作 者: 黄兵
Linq to sql查询(单表、多表查询)
关于数据库的查询中经常需要用到多表的连接查询,这里就简单地展示关于linq的查询功能。
1、单表的查询
- var query = from tc in db.tbClass
- where tc.ClassID == "1"
- //查询表tbClass
- select new {
- ClassID=tc.ClassID,
- ClassName=tc.ClassName
- }
2、多表内连接查询
- 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、外连接
- 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()方法。
评论列表