LINQ查询
发布日期:2021-05-04 19:01:49 浏览次数:16 分类:精选文章

本文共 1191 字,大约阅读时间需要 3 分钟。

MVC 中常常会用到查询,而现在我们常用的查询一般都是LINQ。LINQ的全称为语言集成查询(Language Integrated Query),提供了一种跨数据源和数据格式的统一模型。

好了,下面我们来看下linq的单表查询是怎么写的:
在这里插入图片描述
它前面的变量可以使用var 来声明。 不过,一般都是输出的是什么数据类型就写什么,我们就一个个地讲一下那些单词的用法:
from 自定义的表名 in Model对象.查询的表
where 自定义的表名.字段1 关系运算符 值 && 自定义的表名.字段2 关系运算符 值
select 自定义的表名 或者可以这样写
select new {自定义的表名.字段1,
自定义的表名.字段2,
自定义的表名.字段3,
} 或
select new 类名{ 类的属性1=自定义的表名.字段1,
类的属性2=自定义的表名.字段2,
}

查询表达式必须以form 子句开头,并且必须以select或group子句结尾。

最后要返回结果: .Single();查询单条数据,当没有数据或者有多条数据时会触发异常
.ToList();查询多条数据并转为List
.Count();查询有多少条数据

使用Single()时会触发异常,所以要用 try{ } catch(Exception) { } 捕捉异常

下面再让我们看下linq的多表查询是怎么写的:

在这里插入图片描述
一个LINQ语句中可以有0个或多个join子句,equals是等于的意思。
orderby +自定义的表名.字段
一个LINQ语句中可以有0个或多个orderby子句,即排序,每种排列方式以逗号分开。
还有一个是group by分组语法,如:group tbAchievement by tbAchievement.UserID into tbStudent
表示对tbAchievement按UserID字段进行分组,其结果命名为tbStudent
一旦重新命名,tbAchievement的作用域就结束了,所以,最后select时,只能select tbStudent
Linq查询大概就是这样了,以上的内容来自老师的上课讲解,如果看不懂我写的,我还在网上找了linq的语法,大概是这样写的:
在这里插入图片描述
还有它的说明:

from 指定范围变量和数据源

where 根据bool表达式从数据源中筛选数据
select 指定查询结果中的元素所具有的类型或报答形式
group 对查询结果按照键值执行分组
into 提供了一个标识符,它可以充当对join、group或select 子句结果的引用
orderby 对查询出的元素执行排序ascending /descending
join 按照两个指定匹配条件对等连接两个数据源
let 产生一个用于储存子表达式查询结果的范围变量

好了,希望这对你有所帮助

上一篇:MVC之新增
下一篇:浮动的用法

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月01日 07时05分36秒