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

虚幻大学 xuhss 154℃ 0评论

? 优质资源分享 ?

学习路线指引(点击解锁) 知识定位 人群定位
? Python实战微信订餐小程序 ? 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
?Python量化交易实战? 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

转载请注明:xuhss » 【.NET基础】Linq常用语法代码演示

喜欢 (6)

您必须 登录 才能发表评论!