C#Linq
LINQ使用的优点:
- 无需复杂学习过程即可上手。
- 编写更少代码即可创建完整应用。
- 更快开发错误更少的应用程序。
- 无需求助奇怪的编程技巧就可合并数据源。
- 能够大幅减少过程控制语句的代码块,使代码的可读性和可维护性大幅提高。
- 任何对象或数据源都可以定制实现LINQ适配器,为数据交互带来真正方便。
LINQ主要包含一下三个部分
• LINQ to Object主要负责对象的查询
• 对关系数据的查询 LINQ to Entity如EF(Entity Framework)
• LINQ to XML
LINQ的语法
第一种写法:查询语句,类似SQL语法
Int[] nums={1,2,4,5,6,7};//数据源
Var list=from a in nums
Where a%2==0
Orderby a descending
Select a;//linq的第一种写法
要点解析:必须以from开头。以select或者group by结尾。
from a ,其中a其中元素, in 数据源。中间以各种条件连接,比如where 、order by
结尾select 查出这个筛选之后的a。当然也可以使用匿名对象或者新的已构造的对象
常见子句有:
• from子句:指定查询操作的数据源和范围变量
• where子句:筛选元素的逻辑条件,返回值是一个bool类型
• select子句:指定查询结果的类型和表现形式
• orderby子句:对查询结果进行排序(升序或者降序)
• group子句:对查询结果进行分组
• into子句:提供一个临时标识符,该表示可充当对join/group/select子句结果的引用
• join子句:连接多个查询操作的数据源
• let子句:引入用于存储查询表达式中的子表达式结果的范围变量
比如要查一张学生表,用下面代码
Models.cs mym=new cs();//实体化模型
Var 自定义命名=form 名称 in mym//指定那个表查询
Select 名称//返回哪个表的什么东西
这样就可以把数据库的表内容查询出来
还有一种Lambda 表达式,跟linq也大同小异
用法
Var 自定义名称=mym.学生表.where(查询的条件);
以上就是我对linq的理解