linq语法

一、查询表达式语法

查询表达式语法是一种更接近SQL语法的查询方式。

LINQ查询表达式语法如下:

类型 查询变量 = from 临时变量 in 集合对象或数据库对象
    [where 条件表达式]
    [order by 条件]
    select 临时变量中被查询的值
    [group by 条件]

查询变量的作用是保存查询,而非查询结果

查询表达式语法要点总结:

1、查询表达式语法与SQL(结构查询语言)语法相同。

2、查询语法必须以from子句开头,可以以Select或GroupBy子句结束 。

3、使用各种其他操作,如过滤,连接,分组,排序运算符以构造所需的结果。

4、隐式类型变量 - var可以用于保存LINQ查询的结果。

二、方法语法

方法语法(也称为流利语法)主要利用System.Linq.Enumerable类中定义的扩展方法和Lambda表达式方式进行查询,类似于如何调用任何类的扩展方法。

var result = ints.Where(p => p % 2 == 0).ToArray();

从上面的示例代码中可以看出:方法语法包括扩展方法和Lambda表达式。 扩展方法Where()在Enumerable类中定义。

两种方法对比:

1、CLR本身并不理解查询表达式语法,它只理解方法语法。
2、编译器负责在编译时将查询表达式语法翻译为方法语法。
3、大部分方法语法都有对应的查询表达式语法形式:如Select()对应select、OrderBy()对应orderby
4、部分查询方法目前在C#中还没有对应的查询语句:如Count()和Max()

三、常用实例

数据库查询语言可将s视为一张表。

1.带where的查询

2.简单的函数计算

3.排序

4.取第一条数据

5.筛选指定

6.分组

原文地址:https://www.cnblogs.com/1016391912pm/p/12008889.html