【.NET基础】Linq常用语法代码演示

简介: 前言:前言不重要,linq入门常用的语法,linq语法可以用来写操作集合、数据库表集合等等几乎所有集合类型的操作。下面就写几个案例(以List集合来做的),看代码和运行结果即可。


前言:前言不重要,linq入门常用的语法,linq语法可以用来写操作集合、数据库表集合等等几乎所有集合类型的操作。下面就写几个案例(以List集合来做的),看代码和运行结果即可。


本文演示环境:VS2022 + .NET 6

 

1、创建一个.NET 6.0的控制台项目,用来演示测试和输出。


1995789-20220712213432562-654453717.png

 

2、然后新增两个实体类,用于后续做测试使用,包括关联查询等。


1995789-20220712213449376-227795122.png

 

3、初始化一丢丢数据,当做测试的原始数据。


1995789-20220712213459301-178330103.png


4、先运行下,看下当前数据集合的结果集是怎么样的。此处以Json格式展示,以下其他输出也一样,都是用Json数据输出,比较好对比。


1995789-20220712213509930-1355712839.png


5、先玩一下最简单的lambda表达式的查询方法,以下只是最基本的操作,还有很多别的扩展使用方法,待自己发现。


1995789-20220712213518668-23389001.png


6、lambda表达式的操作方法,也可以对查询结果字段进行起别名。

 1995789-20220712213529058-769538761.png


7、有一个很好用的判断集合是否存在数据的,直接使用 Any。 Any里面也可以写lambda表达式,例如 xxx.Any(x=>x.Id==2) ,如果结果为True,代表集合里面存在字段Id为2的数据。不存在即为False。

 1995789-20220712213539566-42100977.png


8、linq语法,最简单的查询方式,from 集合/表的别名 in 集合/表 where 条件 select 字段集合;


1995789-20220712213548232-1403964599.png

 

9、同样的,linq语法里面的查询结果字段名,也可以起别名。

 1995789-20220712213557704-1123414944.png


10、可以通过orderby对指定的字段进行排序。也可以多个字段并列排序,同时存在升序和降序,待自己发现。


1995789-20220712213608921-84696241.png

 

11、也可以关联查询,关联查询最简单的查询语法书  from 表1别名 in 表1 join 表2别名 in 表2 on 表1.字段 equals 表2.字段 select 需要筛查的字段;


也可以继续拓展出和表3的关联查询、表4的关联查询,等等……


1995789-20220712213619067-238277037.png

 

12、关联查询也一样可以使用Where语句进行约束条件。


1995789-20220712213629312-346488059.png


13、也可以进行分组查询。group 后面接的是最终需要查询的结果集字段。


1995789-20220712213641493-1531086934.png

 

14、结果集字段同样支持别名、指定字段等等。


1995789-20220712213651880-329438571.png

 

15、以上就是该文章的全部内容,内容很简单,希望对初学者或者入门的小伙伴会有帮助。当然,上面的演示都是非常基础和简单的,平常使用ORM进行操作数据库、或者操作其他集合,例如DbSet、IEnumerable等等类型的,也都可以支持这么操作。这样可以避免直接写SQL语句进行操作数据库可能产生的一些不好的情景,例如切换另一个品牌的数据库之类的,就可能需要重写SQL语句了;而使用Linq语法就可以一定程度上避免存在这样的情况,毕竟可以面向实体,只要保证实体没变,就可以不担心数据库切换了,代码也就不需要更改了。


如果觉得文章有帮助,欢迎点赞推荐、转发【本文链接:https://www.cnblogs.com/weskynet/p/16471967.html 】和留言,谢谢。


目录
相关文章
|
6月前
|
SQL 开发框架 .NET
|
6月前
|
XML SQL 开发框架
|
6月前
|
JSON IDE 前端开发
[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle
[.NET开发者的福音]一个方便易用的在线.NET代码编辑工具.NET Fiddle
|
3月前
|
API
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
|
3月前
|
C# 开发者 Windows
在VB.NET项目中使用C#编写的代码
在VB.NET项目中使用C#编写的代码
53 0
|
25天前
|
前端开发 JavaScript C#
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
|
25天前
|
开发框架 .NET 开发工具
.NET 9 中 LINQ 新增的功能
.NET 9 中 LINQ 新增的功能
|
3月前
|
Kubernetes 监控 Devops
【独家揭秘】.NET项目中的DevOps实践:从代码提交到生产部署,你不知道的那些事!
【8月更文挑战第28天】.NET 项目中的 DevOps 实践贯穿代码提交到生产部署全流程,涵盖健壮的源代码管理、GitFlow 工作流、持续集成与部署、容器化及监控日志记录。通过 Git、CI/CD 工具、Kubernetes 及日志框架的最佳实践应用,显著提升软件开发效率与质量。本文通过具体示例,助力开发者构建高效可靠的 DevOps 流程,确保项目成功交付。
73 0
|
3月前
|
XML 开发框架 .NET
.NET框架:软件开发领域的瑞士军刀,如何让初学者变身代码艺术家——从基础架构到独特优势,一篇不可错过的深度解读。
【8月更文挑战第28天】.NET框架是由微软推出的统一开发平台,支持多种编程语言,简化应用程序的开发与部署。其核心组件包括公共语言运行库(CLR)和类库(FCL)。CLR负责内存管理、线程管理和异常处理等任务,确保代码稳定运行;FCL则提供了丰富的类和接口,涵盖网络、数据访问、安全性等多个领域,提高开发效率。此外,.NET框架还支持跨语言互操作,允许开发者使用C#、VB.NET等语言编写代码并无缝集成。这一框架凭借其强大的功能和广泛的社区支持,已成为软件开发领域的重要工具,适合初学者深入学习以奠定职业生涯基础。
99 1
|
3月前
|
API
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)