Visual C# 2008+SQL Server 2005 数据库与网络开发--11.2.3 LINQ的查询和方法

本文介绍了C#2008中LINQ的查询语法及其组成的关键字,详细解析了from、where、select等子句的作用,并对比了查询语法与方法语法的区别及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在前面已经讲过LINQ在查询中要使用的关键字,LINQ的查询语法也是由这些关键字构成的。C# 2008中的每个语法查询表达式都以from子句开始,以selectgroup子句结束。第一个的from子句后可以跟随零个或多个fromwhere子句,就像SQL查询中第一个select子句后面可以跟随零个或多个selectwhere子句一样。在LINQ查询中每个from子句都是获取数据源的产生迭代的生成器,而每个where子句都是一个从结果中排除项目的筛选器。在最终的selectgroup子句之前,可以添加指定结果顺序的orderby子句或者用于分组的group by子句。LINQ的查询语法表达式如下所示。

from item in expr

((from item in expr) | (where predExpr))*

(orderby (keyExpr (ascending|descending)?)+)?

((select selExpr) | (group selExpr by keyExpr))

C# 2008中也为LINQ提供了多个方法,在LINQ中方法和查询很相似,但是却有本质的不同,简单来说LINQ的查询是对数据源数据普遍的筛选,而通过LINQ中的方法是对数据源中的数据进行有针对性的筛选。在C# 2008中的LINQ方法都是具有针对性的,每一个方法都有自己的名称。例如,Max(最大值),Min(最小值),Count(计数),Average(平均数)等等。在LINQ查询中可以通过使用方法语法而非查询语法直接调用这些方法。

C# 2008开发的过程中,使用LINQ的查询语法可以使开发更简单、更易读。但是方法语法和查询语法之间并无语义上的区别。但是方法的出现大大方便了查询的功效,例如,获取指定条件的最大值元素的查询,只需要调用MAX方法就可以了。

转载于:https://www.cnblogs.com/008aspnet/archive/2008/06/16/1223124.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值