提示:VS2017开始,项目编译之后会将LINQ的查询表达式转化成标准查询运算符。
前言
明白LINQ和标准查询运算符的转化关系。这里仅仅作很简单的介绍,快速入门。
一、LINQ与标准查询运算符
LINQ是ASP.NET3.5中,引入的一种新技术。其使得对数据库的访问操作,增删查改等与.NET语言整合在一起,可以使用其访问数据库。 ASP.NET4.0之后,进一步扩展了该技术,
新增了LINQ to Entities(有兴趣自行了解)。
二、使用步骤
1.LINQ基本语法
LINQ查询表达式实现了对数据库的访问,在这里我们使用var来存放返回的数据。编译器可以根据变量的类型指定var的数据类型。
LINQ查询表达式和SQL很类似,所以入门很快,易学。其有八个基本的子句。
<1>from子句——其指定了查询操作的数据源和范围变量
r为范围变量 in 之后为你创建数据库里的一张表
(这里需要提前创建好与数据库对应的.dbml文件)
<2>select子句——其指定查询结果的表现形式和类型
<3>where子句——其指定筛选结果的条件
<4>group子句——其对查询出来的结果进行分组
<5>into子句——仅仅是提供一个临时标识符(join,select,group都可)
<6>join子句——其相当于SQL语句中的表连接,在这里连接多个查询操作的数据源
<7>orderby子句——其对查询出来的结果进行排序
<8>let子句——其作用是创建用于存储查询表达式中的子表达式结果的范围变量
实例代码:
注意:查询表达式一定得以from子句开始,然后以select或group子句结束,中间可以包含一个 或多个from,where,orderby,groupby,let,join等等子句
2.标准查询运算符
<1>Where()——对应where子句
<2>Select()——对应select子句
<3>Join()——对应join...in...on...equals...子句
<4>GroupBy()——对应group...by(...into)子句 (括号里表示可选)
<5>OrderBy()——对应orderby子句
<6>OrderByDescending()——对应orderby...descending子句
代码如下(示例):
var results = db.Product.Where(r=>r.UnitCost > int.Parse(TextBox2.Text)).Select(r=>r.Name);
大致调用格式如上,先创建一个数据库实例对象db,然后调用db中的表,之后按照LINQ规则一层一层调用即可。若不调用Select()则表示将满足条件的全部列进行显示,不进行投影。