码迷,mamicode.com
首页 > 其他好文 > 详细

LINQ基础资料

时间:2020-07-18 15:33:28      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:匿名对象   HERE   数据库   order   uid   sql语法   username   结果   不同的   

前言

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基础资料

标签:匿名对象   HERE   数据库   order   uid   sql语法   username   结果   不同的   

原文地址:https://www.cnblogs.com/herojy886/p/13335198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!