LINQ

Posted Zoe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ相关的知识,希望对你有一定的参考价值。

关于数据库的查询中经常需要用到多表的连接查询,这里就简单地展示关于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的主要内容,如果未能解决你的问题,请参考以下文章

并行LINQ PLinq

C#图解教程 第十九章 LINQ

ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统

解决未能加载文件或程序集“Newtonsoft.Json ...."或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)(代码片段

“系统”-代码到“System.Linq”-代码

在ASP.NET MVC的Action中直接接受客户端发送过来的HTML内容片段