欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ASP.NET-LINQ to SQL查询

程序员文章站 2022-06-11 22:42:39
...

LINQ查询:八大基本字句:

from … in子句:指定查询操作的数据源和范围变量

select子句:指定查询结果的类型和表现形式

where子句:筛选元素的逻辑条件,一般由逻辑运算符组成

group … by子句:对查询进行分组

orderby子句:对查询结果进行排序,可以为“升序”或“降序”

join子句:连接多个查询操作的数据源

let子句:引入用于存储查询表达式中的子表达式结果的范围变量

into子句:提供一个临时标示符,充当对join、group或select子句的结果

LINQ to SQL查询以LINQ查询的八大基本字句为基础


简单查询

    //创建linqdb上下文事例  
               LinqDBDataContext DB = new LinqDBDataContext();
               //创建linqdb上下文事例  
               var query = from user in DB.UserInfo  
                           where user.ID < 5  
                           select user;
               //指定数据源  
               GridView1.DataSource = query;
               //绑定数据源  
               GridView1.DataBind();

聚合查询

    //创建linqdb上下文事例  
                LinqDBDataContext DB = new LinqDBDataContext();
                var query = from product in DB.Product  
                            where product.Price == DB.Product.Max(p => p.Price)  
                            select product;
                GridView1.DataSource = query;
                GridView1.DataBind();

复杂查询

    //创建linqdb上下文事例  
                LinqDBDataContext DB = new LinqDBDataContext();
                //创建linqdb上下文事例  
                var query = from user in DB.UserInfo  
                            join role in DB.UserRole on user.ID equals role.UserID  
                            where user.ID < 5 && user.Username.Length >= 3  
                            select new { ID = user.ID, Name = user.Username, Role = role.Role.RoleName };
                //指定数据源  
                GridView1.DataSource = query;
                //指定数据源  
                GridView1.DataBind();

分组查询

    //创建linqdb上下文事例  
               LinqDBDataContext DB = new LinqDBDataContext();
               //linq分组  
               var query = from res in  
                               (from user in DB.UserInfo  
                                join order in DB.Order on user.ID equals order.UserId  
                                select new { ID = user.ID, Name = user.Username }  
                                )  
                           group res by res.ID;  
      
               foreach (var item in query)  
               {  
                   //创建Gv  
                   GridView gridView = new GridView();
                   gridView.DataSource = item;  
                   gridView.DataBind();
                   //添加html元素  
                   Page.Form.Controls.Add(gridView);
               }