Linq高级查询
1、LINQ的概念
LINQ(Language Integrated Query)语言集成查询。
LINQ 它允许使用SQL查询数据库的方式来查询数据集合。
Linq 可以从数据库,程序对象集合以及XML文档中查询数据
2、LINQ的分类以及优势
LINQ主要包含以下三部分:
1、LINQ to Objects 主要负责对象的查询。
2、LINQ to XML 主要负责XML的查询。
3 、LINQ to ADO.NET 主要负责数据库查询
LINQ to SQL
LINQ to DataSet
LINQ to Entities
1、熟悉的语言:开发人员不必为每种类型的数据源或数据格式学习新的语言。
2、更少的编码:相比较传统的方式,LINQ减少了要编写的代码量。
3、可读性强:LINQ增加了代码的可读性,因此其他开发人员可以很轻松的理解和维护。
4、标准的查询方式:可以使用相同的LINQ语法查询多个数据源。
5、类型检查:程序会在编译的时候提供类型检查。
6、智能感知提示:LINQ为通用集合提供智能感知提示。
7、整形数据:LINQ可以检索不同形状的数据
3、LINQ的两种语法格式
方法语法和查询语法:
方法语法,使用标准的方法调用。这些方法是一组标准查询运算符的方法。
查询语法,看上去和SQL语句相似。
在一个查询中可以组合两种形式。
查询表达式由查询体后的from子句组成 :
子句必须按照一定顺序出现
from子句和select…子句这两部分是必需的
查询条件加where
可以排序,分组等
int [] numbers = {2,5,28,31,17,16,42};
var numQuery = from n in numbers //查询语法
where n<20
select n;
var numsMethod = bumbers.where(x=>x<20);//方法语法
int numsCount = (from n in numbers //两种形式组合
where n<20
select n).Count();
4、LINQ详解
5、LINQ 详解,Let的应用
6、LINQ详解-分组查询
7、LINQ详解-分组查询+条件