LINQ基础资料
Posted herojy886
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ基础资料相关的知识,希望对你有一定的参考价值。
前言
LINQ(Language Integrated Query )语言集成查询,是一组用于C#和VB语言的拓展,在.net中它允许VB或者C#代码以操作内存数据的方式,查询数据库。
LINQ的三个主要组成部分是:
标准查询运算符:这些是形成LINQ模式的扩展方法。 它在序列上运行并形成一个API,可以查询任何.NET数组。 LINQ中的标准查询运算符允许您执行诸如确定序列中是否存在值,序列求和等函数.API支持的查询运算符为:
语言扩展:当LINQ主要作为.NET框架库实现时,LINQ定义了可选的语言扩展。 这使查询成为第一类语言构造,并提供编写查询的语法。
LINQ提供程序:这些类是一组类,它们生成一个对特定数据源执行相同查询的方法。 不同的提供程序定义了LINQ的不同风格:LINQ to SQL、LINQ to XML、LINQ to Objects
LINQ语法:
第一种写法:类似SQL语法,查询语句
var resUsers = from u in userList where u.Age > 20 select new {u.UId,u.UserName,u.Age};
要点解析:必须以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子句:引入用于存储查询表达式中的子表达式结果的范围变量
第二种写法:lambda表达式(简洁且功能更多,推荐)
var resUsers2 = userList.Where<UserInfo>(u => u.Age > 20).Select(u => new { u.UId,u.UserName,u.Age});
以上是关于LINQ基础资料的主要内容,如果未能解决你的问题,请参考以下文章