LINQ入门知识详细介绍

2014-07-29 19:04:01|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:C#|来源:唯设编程网

      <2>第二行的解释:        

        一个查询表达式中可以有0个或多个join子句,

        这里的source可以不等于第一句中的source

        expr可以是一个表达式

        [into subGroup] subGroup是一个中间变量,

        它继承自IGrouping,代表一个分组,也就是说“一对多”里的“多”

        可以通过这个变量得到这一组包含的对象个数,以及这一组对象的键

        比如:        

        from c in db.Customers
            join o in db.Orders on c.CustomerID
            equals o.CustomerID into orders
            select new
            {
                c.ContactName,
                OrderCount = orders.Count()
            };


      <3>第三行的解释:     

        一个查询表达式中可以有1个或多个from子句

        一个查询表达式中可以有0个或多个let子句,let子句可以创建一个临时变量

        比如:        

            from u in users
             let number = Int32.Parse(u.Username.Substring(u.Username.Length - 1))
             where u.ID < 9 && number % 2 == 0
             select u

        一个查询表达式中可以有0个或多个where子句,where子句可以指定查询条件

      <4>第四行的解释:

        一个查询表达式可以有0个或多个排序方式

        每个排序方式以逗号分割

      <5>第五行的解释:

        一个查询表达式必须以select或者group by结束

        select后跟要检索的内容

        group by 是对检索的内容进行分组

        比如:        

            from p in db.Products 
            group p by p.CategoryID into g 
            select new {  g.Key, NumProducts = g.Count()};

      <6>第六行的解释:

        最后一个into子句起到的作用是

        将前面语句的结果作为后面语句操作的数据源

        比如: 

            from p in db.Employees
             select new
             {
                 LastName = p.LastName,
                 TitleOfCourtesy = p.TitleOfCourtesy
             } into EmployeesList
             orderby EmployeesList.TitleOfCourtesy ascending
             select EmployeesList;

本文转载自:http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html

发表评论0条 】
网友评论(共?条评论)..
LINQ入门知识详细介绍