LINQ八大基本子句

LINQ的基本语法包含如下的8个上下文关键字,这些关键字和具体的说明如下:

八大子句
from...in子句指定查询操作的数据源和范围变量
select子句指定查询结果的类型和表现形式
where子句筛选元素的逻辑条件,一般由逻辑运算符组成
group...by子句对查询进行分组
orderby子句对查询结果进行排序,可以是“升序”或降序“”
jion子句连接多个查询操作的数据源
let子句引入用于存储查询表达式中子表达式结果的范围变量
into子句提供一个临时标识符,充当对jion,group或select子句的结果

1、from..in

LINQ查询表达式必须包含from子句,且以from子句开头。如果该查询表达式还包含子查询,那么子查询表达式也必须以from子句开头。from子句指定查询操作的数据源和范围变量。其中,数据源不但包括查询本身的数据源,而且还包括子查询的数据源。范围变量一般用来表示源序列中的每一个元素。

//创建linqDB数据库上下文实例  
LinqDBDataContext DB = new LinqDBDataContext();  
//linqtosql 查询结果  
//使用from …in子句  
            var query = from user in DB.UserInfo  
                        where user.ID < 5  
                        select user;  
          //指定数据源  
            GridView1.DataSource = query;  
           //绑定数据源  
            GridView1.DataBind();  

2、select

在查询表达式中, select 子句可以指定将在执行查询时产生的值的类型。 该子句的结果将基于前面所 有子句的计算结果以及 select 子句本身中的所有表达式。 查询表达式必须以 select 子句或 group 子 句结束。 


3、where

在LINQ查询表达式中,where子句指定筛选元素的逻辑条件,一般由逻辑运算符(如逻辑“与”、逻辑“或”)组成。一个查询表达式可以不包含where子句。每一个where子句可以包含1个或多个布尔表达式。






4.group子句

在查询表达式中,group子句对查询的结果进行分组,并返回元素类型为

                       IGrouping<TKey,TElenment>的对象序列。


注意:TKey指定IGrouping<TKey,TElement>的键的类型,TElement指定IGrouping<TKey,TElement>的值的类型。访问IGrouping<TKey,TElement>类型的值的方法与访问IEnumberable<T>的元素的方式非常相似。


5.orderby子句

在LINQ查询表达式中,orderby子句可以对查询结果进行排序。排序方式可以为“升序”或“降序”,且排序的键可以为一个或多个



注意:LINQ查询表达式对查询结果的默认排序方式为“升序”。


6. into子句

在LINQ 查询表达式中,into子句可以创建一个临时标识符,使用该标识符可以存储group、join或select子句的结果。


7. join子句

在LINQ查询表达式中,join子句比较复杂,它可以设置两个数据源之间的关系。当然,这两个数据源之间必须存在相关联的属性或值。join子句可以实现一下3种联接关系。

(1)内部联接,元素的联接关系必须同时满足被联接的两个数据源。

(2)分组联接,含有into子句的join子句。

(3)左外部联接


8. let子句

在LINQ查询表达式中,let子句可以创建一个新的范围变量,并且使用该变量保存表达式中的结果。let子句指定的范围变量的值只能通过初始化操作进行赋值,范围变量的值一旦被初始化,将不能再被改变。





  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值