关于linq、lambda、SQL语法的简单介绍

不负遇见。。。 2019-04-07 05:09:23
下面是我为大家所介绍的内容---linq、lambda、与SQL他们三者之间对查询数据上的区别,还有一些语法知识和具体的写法
我们在学查询数据的时候,在VS大多数情况下我们都会用linq、lambda,那他们之间又有什么区别呢?
大家请先看一下SQL中是如何查数据的。

SQL查询的语句:

Linq的查询:
代码解释:
Var listGrade =from tb in myModal.SYS_Grade
Select tb
Lambda 的查询:
代码解释:
listGrade =SYS_Grade.Select(m=>m.GradeNanme && m.GradeID && m.AcademeID)

以上三种方法大家可以看一下,并且可以进行对比已,SQL的查法与linq的查法有种倒过来的感觉,它们from 与select 一个在上一个在下,而linq 的写法与Lambda的写法两者的写法却在格式上有很大的不同,如果查一个字段Lambda的查询会看似更为简单一点
Linq Lambda 与SQL的语法解析

Linq 单表查询的写法
(from 自定义的表名 in Model对象。查询的表
Where 自定义表名。查询的字段
Orderby 字段义的表名 查询的字段
Select new{
自定义表名。字段1,
自定义的表名。字段.
……….
字段根据表所拥有的与自身所需要的情况而定

}
还有一种:
Select new 类的名称
{
类的属性1 = 自定义的表名。字段1
类的属性1 = 自定义的表名。字段1

}.Single()//查询单条数据
.ToList();//查询多条数据并转为List
.Count();//查询有多少条数据

知识扩展:
Linq 的查询语法一般有好几个关键字
1、 from in
from+指定范围变量 in+数据源
2、 where 所需要的筛选的数据
3、 select 查询所需要的字段
4、 into 把查询的结果放在那里 into+自定名
5、 group by 对结果进行分组
6、 orderby 排序
7、join in on equals
Join+自定义表名 in 数据源 on+所连接表的字段 equals判断数据源之间是否相等

注:关于Linq的查询的具体查法与如何查;在下一篇会有很详细的介绍。这里只是语法与知识点的罗列。

Lambda 查询
语法:运算符 m =>m 左边为参数 右边为表达式 m可以换为别的。
例如我们对条件的筛选:
listStudent =SYS_Grade.Select(m=>m.GradeID )

SQL的查询语句与Linq查询语句上或者在关键字上差别不是很大,只是说两者查询地有所不同。
留言:至于还是不是有其他的区别这个我目前也不是很懂,因为对查询语句这一块我也是刚接触不是很久,我讲的这些都是我在查询过程所遇到而进行整理的,希望大家不要嫌弃。也希望对大家有所帮助。如果大家对查询语句有更加深入的了解,希望你可以为我提供你宝贵的见解。
在此先谢谢了!!!


...全文
74 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

488

社区成员

发帖
与我相关
我的任务
社区描述
硬件使用 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧