2

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

 2 years ago
source link: https://www.cnblogs.com/weskynet/p/16471967.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

前言:前言不重要,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 】和留言,谢谢。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK