一、概述
LINQ(Language Integrated Query)
LINQ语言集成查询是一组用于C#语言的扩展。它允许编写C#代码对数据集进行查询,比如查询内存中的对象或查询远程数据库的表。利用linq,程序员不必掌握数据库查询语句而是使用Linq就能完成相同的查询任务。而传统数据查询的弱点很多,比如执行简单查询也需要冗长的操作代码,查询语句是字符串格式,无法让编译器执行检查错误及早提示,查询不是强类型,查询参数容易写错,查询结果没有真正面向对象,每次查询取结果还得事先知道列名或列索引,不使用抽象工厂的前提下,查询语句是定死的,只能应用于一种数据库。 即使使用抽象工厂,代码量也巨大。 Enumerable类为IEnumerable<T>扩展了用于查询内存中的对象的linq查询方法。而Queryable为IQueryable <T>扩展了对远程数据源进行linq查询的方法。 而在System.Collections命名空间下的集合类虽然不能使用那些从IEnumerable<T>上扩展的方法,但可以通过调用非泛型集合的Cast<T>()将其转换为泛型集合,从而可以使用Enumerable类提供的扩展方法。
二、语法规则
1)、From 临时变量 in 实现Ienumerable<T>接口的对象
Where 条件表达式
[Orderby 条件]
[Group by 条件]
Select 临时变量中被查询的值
例1: